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

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

以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中按钮的判断:到底哪个按钮引发当前事件。

总结:这个是十分菜鸟的东西,只为自己记录一下。

原址:https://blog.51cto.com/zhaojie/913043

posted @ 2021-06-23 16:08  rossi努力努力  阅读(246)  评论(0编辑  收藏  举报