页面上有6个按钮,button1,button2...button6,这6个按钮对应6个单击事件调用的是同一个方法void A(),除了写6次事件还有别的方法吗

昵称是可以中文吗 2012-09-17 01:08:08
页面上有6个按钮,button1,button2...button6,这6个按钮对应6个双击事件调用的是同一个方法void A(),除了在页面上双击写6次事件还有别的方法吗,就是不要双击6次,能不能写一个delegate,直接调用void A()方法??

直接的我会,写了6次事件,都调用同一个方法,好烦
...全文
178 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
夏一跳 2012-09-17
  • 打赏
  • 举报
回复
按钮不是有Click事件么,都选一个事件就好了,然后在那事件里 做判断...

Button b = sender as Button;
switch(b.Name)
{
case "1":
break;
........
}
鲸碳耗 2012-09-17
  • 打赏
  • 举报
回复

foreach (Control ctl in this.Controls)
{
if (ctl is Button)
{
Button btn = ctl as Button;
btn.Click += new System.EventHandler(btn_Click);
}
}
孟子E章 2012-09-17
  • 打赏
  • 举报
回复
button1.Click += xxxx_click;
button2.Click += xxxx_click;
...

void xxxx_click(object sender, EventArgs e)
{
Button x = sender as Button;
通过x.Name等就可以判断点击的是哪个按钮来
}
happytonice 2012-09-17
  • 打赏
  • 举报
回复
六个按钮用一个事件就可以。按钮属性->事件,绑定上同一个方法
stonespace 2012-09-17
  • 打赏
  • 举报
回复
可以让六个按钮使用同一个方法来响应,如果要这么做,不要双击按钮,而是单击选择按钮,在vs右下方的属性窗口中,单击“事件”选项卡,就会列出按钮的所有事件,然后在click事件中,选择一个已经存在的方法就可以,
threenewbee 2012-09-17
  • 打赏
  • 举报
回复
在formname.designer.cs中
button1.Click += button1to6_click;
button2.Click += button1to6_click;
...


void button1to6_click(object sender, EventArgs e)
{
A();
}
风吹腚腚凉 2012-09-17
  • 打赏
  • 举报
回复
不需要一个一个给赋值事件,太慢,按住shift~~~~
风吹腚腚凉 2012-09-17
  • 打赏
  • 举报
回复
formname.designer.cs
中加上
void button1to6_click(object sender, EventArgs e)
{
A();
}
是不是有点不伦不类啊?

正确做法是
按住shift 选中6个按钮随便找一个按钮双击即可,其他事件,就选择事件单击一下即可。

110,891

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧