有时候多个相同控件的事件若一一处理比较麻烦,而且影响代码美观,这时若在一个统一的方法里处理这些事件是个比较好的选择。
以winform上的三个button为例来说明我的处理方法。
1,将三个button的click事件绑定到一个事件处理方法上:
this.button1.Click += new EventHandler(speakHandler);
this.button2.Click += new EventHandler(speakHandler);
this.button3.Click += new EventHandler(speakHandler);
2,处理事件
private void speakHandler(object sender, EventArgs e)
{
switch ((sender as Button).Text)
{
case "button1":
MessageBox.Show(button1.Text);
break;
case "button2":
MessageBox.Show(button2.Text);
break;
case "button3":
MessageBox.Show(button3.Text);
break;
default:
break;
}
}
值得注意的是,switch中按钮的判断:到底哪个按钮引发当前事件。
总结:这个是十分菜鸟的东西,只为自己记录一下。
本文转自 huohe2009 51CTO博客,原文链接:http://blog.51cto.com/zhaojie/913043