我的表单上有50个按钮,希望它们在按下时将+1添加到一个名为number的int
除了1个按钮,我想将+2添加到数字
如果没有为49个按钮重复相同的代码,我怎么能这样做?
答案 0 :(得分:5)
您需要一个事件来处理每个按钮click
。在这里,您将增加number
。我将迭代所有表单控件,如果它们是Button
,请添加该事件。
您显然希望处理按钮需要+2的情况,但是当您查看按钮Name
属性时,这很容易。
这样的事情:
public Form1()
{
InitializeComponent();
foreach (var ctrl in this.Controls)
{
if (ctrl.GetType() == typeof(Button))
{
Button btn = (Button)ctrl;
if (btn.Name == "ADD TWO")
{
btn.Click += btn_Click_Add_Two;
}
else
{
btn.Click += btn_Click_Add_One;
}
}
}
}
void btn_Click_Add_One(object sender, EventArgs e)
{
this.Number++;
}
void btn_Click_Add_Two(object sender, EventArgs e)
{
this.Number += 2;
}
答案 1 :(得分:-1)
void SetClickEvents()
{
// Add the listeners
btn1.Click += new EventHandler(Button_Click);
btn2.Click += new EventHandler(Button_Click);
btn3.Click += new EventHandler(Button_Click);
// ... repeat for 49, or even loop
}
void Button_Click(Object sender, EventArgs e)
{
// DO your adding
}