日期:2014-05-17  浏览次数:20841 次

页面上有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~~~~