页面上有6个按钮,button1,button2...button6,这6个按钮对应6个单击事件调用的是同一个方法void A(),除了写6次事件还有别的方法吗
页面上有6个按钮,button1,button2...button6,这6个按钮对应6个双击事件调用的是同一个方法void A(),除了在页面上双击写6次事件还有别的方法吗,就是不要双击6次,能不能写一个delegate,直接调用void A()方法??
直接的我会,写了6次事件,都调用同一个方法,好烦
------解决方案--------------------在formname.designer.cs中
button1.Click += button1to6_click;
button2.Click += button1to6_click;
...
void button1to6_click(object sender, EventArgs e)
{
A();
}
------解决方案--------------------可以让六个按钮使用同一个方法来响应,如果要这么做,不要双击按钮,而是单击选择按钮,在vs右下方的属性窗口中,单击“事件”选项卡,就会列出按钮的所有事件,然后在click事件中,选择一个已经存在的方法就可以,
------解决方案--------------------六个按钮用一个事件就可以。按钮属性->事件,绑定上同一个方法
------解决方案--------------------button1.Click += xxxx_click;
button2.Click += xxxx_click;
...
void xxxx_click(object sender, EventArgs e)
{
Button x = sender as Button;
通过x.Name等就可以判断点击的是哪个按钮来
}
------解决方案--------------------C# code
foreach (Control ctl in this.Controls)
{
if (ctl is Button)
{
Button btn = ctl as Button;
btn.Click += new System.EventHandler(btn_Click);
}
}
------解决方案--------------------
按钮不是有Click事件么,都选一个事件就好了,然后在那事件里 做判断...
Button b = sender as Button;
switch(b.Name)
{
case "1":
break;
........
}
------解决方案--------------------
formname.designer.cs
中加上
void button1to6_click(object sender, EventArgs e)
{
A();
}
是不是有点不伦不类啊?
正确做法是
按住shift 选中6个按钮随便找一个按钮双击即可,其他事件,就选择事件单击一下即可。
------解决方案--------------------
不需要一个一个给赋值事件,太慢,按住shift~~~~