如何知道下一个按下的是哪个按钮 C#
How to know which button is pressed next c#
我正在为一家比萨店开发一个接单系统,我想按比萨的大小,然后将按下的任何大小按钮 + 什么比萨添加到列表框。例如小号+夏威夷。到目前为止,这就是我尝试这样做的方法,但是它只能工作一次,因为我不确定如何重置 bool。
bool ButtonSmallClicked = false;
private void ButtonSmall_Click(object sender, EventArgs e)
{
ButtonSmallClicked = true;
}
private void ButtonHawaiian_Click(object sender, EventArgs e)
{
if (ButtonSmallClicked == true)
{
listBox1.Items.Add(string.Format("{0} {1}", buttonSmall.Text, buttonHawaiian.Text));
}
对你有用吗?
private void ButtonSmall_Click(object sender, EventArgs e)
{
if(ButtonSmallClicked ==true)
ButtonSmallClicked = false;
else
ButtonSmallClicked = true;
}
或
private void ButtonHawaiian_Click(object sender, EventArgs e)
{
if (ButtonSmallClicked == true)
{
listBox1.Items.Add(string.Format("{0} {1}", buttonSmall.Text, buttonHawaiian.Text));
ButtonSmallClicked == false;
}
}
使用 .Tag
属性 并将点击值保存到变量以供进一步处理。
public class SelectedPizza
{
public string Size { get; set; }
public string Name { get; set; }
public string Format() => $"{Size} {Name}";
}
public class MyForm
{
private readonly SelectedPizza _selectedPizza;
public MyForm()
{
buttonSmallSize.Tag = "Small";
buttonSmallSize.Click += ButtonSizeClick;
buttonLargeSize.Tag = "Large";
buttonLargeSize.Click += ButtonSizeClick;
buttonHawaiian.Tag = "Hawaiian";
buttonHawaiian.Click += ButtonNameClick;
_selectedPizza = new SelectedPizza();
}
private void ButtonSizeClick(object sender, EventArgs e)
{
var button = (Button)sender;
_selectedPizza.Size = button.Tag.ToString();
}
private void ButtonNameClick(object sender, EventArgs e)
{
var button = (Button)sender;
_selectedPizza.Name = button.Tag.ToString();
listBox1.Items.Add(_selectedPizza.Format());
}
}
我正在为一家比萨店开发一个接单系统,我想按比萨的大小,然后将按下的任何大小按钮 + 什么比萨添加到列表框。例如小号+夏威夷。到目前为止,这就是我尝试这样做的方法,但是它只能工作一次,因为我不确定如何重置 bool。
bool ButtonSmallClicked = false;
private void ButtonSmall_Click(object sender, EventArgs e)
{
ButtonSmallClicked = true;
}
private void ButtonHawaiian_Click(object sender, EventArgs e)
{
if (ButtonSmallClicked == true)
{
listBox1.Items.Add(string.Format("{0} {1}", buttonSmall.Text, buttonHawaiian.Text));
}
对你有用吗?
private void ButtonSmall_Click(object sender, EventArgs e)
{
if(ButtonSmallClicked ==true)
ButtonSmallClicked = false;
else
ButtonSmallClicked = true;
}
或
private void ButtonHawaiian_Click(object sender, EventArgs e)
{
if (ButtonSmallClicked == true)
{
listBox1.Items.Add(string.Format("{0} {1}", buttonSmall.Text, buttonHawaiian.Text));
ButtonSmallClicked == false;
}
}
使用 .Tag
属性 并将点击值保存到变量以供进一步处理。
public class SelectedPizza
{
public string Size { get; set; }
public string Name { get; set; }
public string Format() => $"{Size} {Name}";
}
public class MyForm
{
private readonly SelectedPizza _selectedPizza;
public MyForm()
{
buttonSmallSize.Tag = "Small";
buttonSmallSize.Click += ButtonSizeClick;
buttonLargeSize.Tag = "Large";
buttonLargeSize.Click += ButtonSizeClick;
buttonHawaiian.Tag = "Hawaiian";
buttonHawaiian.Click += ButtonNameClick;
_selectedPizza = new SelectedPizza();
}
private void ButtonSizeClick(object sender, EventArgs e)
{
var button = (Button)sender;
_selectedPizza.Size = button.Tag.ToString();
}
private void ButtonNameClick(object sender, EventArgs e)
{
var button = (Button)sender;
_selectedPizza.Name = button.Tag.ToString();
listBox1.Items.Add(_selectedPizza.Format());
}
}