У меня есть эти два метода в 1 классе (класс CokeMachine):
public void MoneyButtonEvents()
{
Coin1.Click += new EventHandler(Coin1_ClickHandler);
}
&
public void Coin1_ClickHandler(object sender, EventArgs e)
{
TotalInsertedCoins += CoinAmount1;
MessageBox.Show("Does this click work?");
}
И в другом классе (класс CokeForm: Form), я 'м строит форму для заявки.Одна часть этого:
CokeMachine Machine = new CokeMachine();
Machine.Coin1.Text = "Test";
this.Controls.Add(Machine.Coin1);
Но кнопка ничего не показывает, когда я нажимаю на нее.Кто-нибудь может мне помочь с этим?Заранее спасибо!
PS: Полный код:
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 >= 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 >= 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 >= 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 >= 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 >= 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 >= 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);
}
}
}