多个控件事件用一个事件处理方法来处理

简介:

有时候多个相同控件的事件若一一处理比较麻烦,而且影响代码美观,这时若在一个统一的方法里处理这些事件是个比较好的选择。

以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

相关文章
|
10天前
|
JavaScript 前端开发
除了点击事件,`addEventListener` 还能用于处理哪些事件类型?
【10月更文挑战第29天】 `addEventListener` 能够处理的事件类型非常丰富,涵盖了各种用户交互和页面状态变化的场景,通过合理地使用这些事件类型,可以为网页或应用程序添加丰富多样的交互效果和功能。
|
6月前
|
JavaScript 前端开发 编译器
方法事件处理器
方法事件处理器
|
6月前
页面监听键盘事件
页面监听键盘事件
|
JavaScript
事件处理
事件处理
140 0
|
图形学
Unity碰撞事件和触发事件
大家在刚开始接触Unity的时候,一定要理解碰撞与触发
509 0
Unity碰撞事件和触发事件
14、事件类型(鼠标事件、键盘事件、触屏事件)
14、事件类型(鼠标事件、键盘事件、触屏事件)
153 0
|
安全 程序员 编译器
正确调用事件处理程序
正确调用事件处理程序
144 0
|
JavaScript C#
C#(WPF)去除事件中注册的事件处理方法!
在WPF中,移除一个事件中已经注册的处理方法,看似简单,实际还是很痛苦的一件事情。因为C#的灵活性,定义事件的方法也是多种多样。我自己定义了一个事件: public event EventHandler TestEvent; 当我想注销这个事件上注册的所有方法的时候,我可以按如下的方法进行 Delegate[] dels = TestEvent.
4018 0