title: How do I call a click event from another class?
body: <p>I've got these two methods in 1 class (Class CokeMachine):</p>
  
  <pre><code>public void MoneyButtonEvents()
      {
          Coin1.Click += new EventHandler(Coin1_ClickHandler);
      }
  </code></pre>
  
  <p>&amp;</p>
  
  <pre><code>public void Coin1_ClickHandler(object sender, EventArgs e)
      {
          TotalInsertedCoins += CoinAmount1;
          MessageBox.Show("Does this click work?");
      }
  </code></pre>
  
  <p>And in another class (Class CokeForm : Form), I'm building the form for the application.
  One part of it is:</p>
  
  <pre><code>CokeMachine Machine = new CokeMachine();
  
  Machine.Coin1.Text = "Test";
  this.Controls.Add(Machine.Coin1);
  </code></pre>
  
  <p>But the button doesn't show anything when I click on it. Can anyone help me out with this?
  Thanks in advance!</p>
  
  <p>PS: Full code:</p>
  
  <pre><code>using System;
  using System.Windows.Forms;
  using System.Drawing;
  
  namespace QuickSharp
  {
  public class CokeMachine
  {
      public Button Coke = new Button();
      public Button Sprite = new Button();
      public Button Fanta = new Button();
      public Button RedBull = new Button();
      public Button Juice = new Button();
      public Button Water = new Button();
  
      double CokeCost = 1.00;
      double SpriteCost = 1.00;
      double FantaCost = 1.00;
      double RedBullCost = 2.50;
      double JuiceCost = 2.00;
      double WaterCost = 0.50;
  
      public Button Coin1 = new Button();
      public Button Coin2 = new Button();
      public Button Coin3 = new Button();
      public Button Coin4 = new Button();
      public Button Coin5 = new Button();
      public Button Coin6 = new Button();
  
      double CoinAmount1 = 0.05;
      double CoinAmount2 = 0.10;
      double CoinAmount3 = 0.20;
      double CoinAmount4 = 0.50;
      double CoinAmount5 = 1.00;
      double CoinAmount6 = 2.00;
  
      public double TotalInsertedCoins = 0;
  
      //EventHandlers for drink buttons
  
      public void DrinkButtonsEvents()
      {
          Coke.Click += new EventHandler(Coke_ClickHandler);
          Sprite.Click += new EventHandler(Sprite_ClickHandler);
          Fanta.Click += new EventHandler(Fanta_ClickHandler);
          RedBull.Click += new EventHandler(RedBull_ClickHandler);
          Juice.Click += new EventHandler(Juice_ClickHandler);
          Water.Click += new EventHandler(Water_ClickHandler);
      }
  
      //Drink buttons - Click event handlers
  
      public void Coke_ClickHandler(object sender, EventArgs e)
      {
          if(TotalInsertedCoins &gt;= CokeCost)
          {
              DispenseDrink("Coca-Cola" , CokeCost);
          }
          else
          {
              MessageBox.Show("You have not inserted enough money to buy this drink." , "Warning");
          }
      }
  
      public void Sprite_ClickHandler(object sender, EventArgs e)
      {
          if(TotalInsertedCoins &gt;= SpriteCost)
          {
              DispenseDrink("Sprite" , SpriteCost);
          }
          else
          {
              MessageBox.Show("You have not inserted enough money to buy this drink." , "Warning");
          }
      }
  
      public void Fanta_ClickHandler(object sender, EventArgs e)
      {
          if(TotalInsertedCoins &gt;= FantaCost)
          {
              DispenseDrink("Fanta" , FantaCost);
          }
          else
          {
              MessageBox.Show("You have not inserted enough money to buy this drink." , "Warning");
          }
      }
  
      public void RedBull_ClickHandler(object sender, EventArgs e)
      {
          if(TotalInsertedCoins &gt;= RedBullCost)
          {
              DispenseDrink("Red Bull" , RedBullCost);
          }
          else
          {
              MessageBox.Show("You have not inserted enough money to buy this drink." , "Warning");
          }
      }
  
      public void Juice_ClickHandler(object sender, EventArgs e)
      {
          if(TotalInsertedCoins &gt;= JuiceCost)
          {
              DispenseDrink("Orange Juice" , JuiceCost);
          }
          else
          {
              MessageBox.Show("You have not inserted enough money to buy this drink." , "Warning");
          }
      }
  
      public void Water_ClickHandler(object sender, EventArgs e)
      {
          if(TotalInsertedCoins &gt;= WaterCost)
          {
              DispenseDrink("Water" , WaterCost);
          }
          else
          {
              MessageBox.Show("You have not inserted enough money to buy this drink." , "Warning");
          }
      }
  
      //EventHandlers for money buttons
  
      public void MoneyButtonEvents()
      {
          Coin1.Click += new EventHandler(Coin1_ClickHandler);
          Coin2.Click += new EventHandler(Coin2_ClickHandler);
          Coin3.Click += new EventHandler(Coin3_ClickHandler);
          Coin4.Click += new EventHandler(Coin4_ClickHandler);
          Coin5.Click += new EventHandler(Coin5_ClickHandler);
          Coin6.Click += new EventHandler(Coin6_ClickHandler);
      }
  
      //Money buttons - Click event handlers
  
      public void Coin1_ClickHandler(object sender, EventArgs e)
      {
          TotalInsertedCoins += CoinAmount1;
          MessageBox.Show("Does this click work?");
      }
  
      public void Coin2_ClickHandler(object sender, EventArgs e)
      {
          TotalInsertedCoins += CoinAmount2;
      }
  
      public void Coin3_ClickHandler(object sender, EventArgs e)
      {
          TotalInsertedCoins += CoinAmount3;
      }
  
      public void Coin4_ClickHandler(object sender, EventArgs e)
      {
          TotalInsertedCoins += CoinAmount4;
      }
  
      public void Coin5_ClickHandler(object sender, EventArgs e)
      {
          TotalInsertedCoins += CoinAmount5;
      }
  
      public void Coin6_ClickHandler(object sender, EventArgs e)
      {
          TotalInsertedCoins += CoinAmount6;
      }
  
      private void DispenseDrink(string drink , double cost)
      {
          if(TotalInsertedCoins - cost == 0.0)
          {
              MessageBox.Show("Enjoy your " + drink + "!");
              TotalInsertedCoins = 0.0;
          }
          else
          {
              MessageBox.Show("Enjoy your " + drink + "! Here is your change: €" + (TotalInsertedCoins - cost));
              TotalInsertedCoins = 0.0;
          }
      }
  }
  
  public class CokeForm : Form
  {
     public CokeForm()
     {
  
         CokeMachine Machine = new CokeMachine();
  
          // General aspect of machine
  
          this.Text = "Cola Machine";
          this.Size = new Size(450 , 500);
  
          Label Header;
          Header = new Label();
          Header.Text = "Coca-Cola Machine";
          Header.Font = new Font("Arial" , Header.Font.Size +5);
          Header.ForeColor = Color.DarkRed;
          Header.Location = new Point(132, 20);
          Header.AutoSize = true;
          this.Controls.Add(Header);
  
          TextBox TextBox1 ;
          TextBox1 = new TextBox();
          TextBox1.BackColor = Color.Black;
          TextBox1.ForeColor = Color.Red;
          TextBox1.Font = new Font("Arial" , TextBox1.Font.Size +3);
          TextBox1.ReadOnly = true;
          TextBox1.Size = new Size(210,300);
          TextBox1.Location = new Point(112,50);
  
          //TextBox1.SelectionStart = TextBox1.Text.Length;
          //TextBox1.ScrollToCaret();
          //TextBox1.Refresh();
  
  
          if(Machine.TotalInsertedCoins == 0.00)
          {
              TextBox1.Text = "Buy Your Ice Cold Drinks Here!";
          }
          else
          {
              TextBox1.Text = "Inserted Coins: €" + Machine.TotalInsertedCoins;
          }
  
          this.Controls.Add(TextBox1);
  
          // Money aspect of machine
  
          Label Money;
          Money = new Label();
          Money.Text = "Insert Coins Here:";
          Money.Location = new Point(20, 100);
          this.Controls.Add(Money);
  
          //Money buttons will be here
  
          Machine.Coin1.Text = "Test";
          this.Controls.Add(Machine.Coin1);
  
  
          // Drink aspect of machine
  
          Label Drinks;
          Drinks = new Label();
          Drinks.Text = "Choose Your Drink:";
          Drinks.Location = new Point(315 , 100);
          Drinks.AutoSize = true;
          this.Controls.Add(Drinks);
  
          //Drink buttons will be here
     }
  }
  
  public class Test
  {
  
      public static void Main()
      {                  
  
          CokeForm ColaForm;
          ColaForm = new CokeForm();
          Application.Run(ColaForm);
      }
    }
  }
  </code></pre>