多個控件事件用一個事件處理方法來處理

有時候多個相同控件的事件若一一處理比較麻煩,並且影響代碼美觀,這時若在一個統一的方法裏處理這些事件是個比較好的選擇。ide

以winform上的三個button爲例來講明個人處理方法。this

1,將三個button的click事件綁定到一個事件處理方法上:orm

            this.button1.Click += new EventHandler(speakHandler);
            this.button2.Click += new EventHandler(speakHandler);
            this.button3.Click += new EventHandler(speakHandler);事件

2,處理事件it

        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;
            }
 
        }form

值得注意的是,switch中按鈕的判斷:到底哪一個按鈕引起當前事件。class

總結:這個是十分菜鳥的東西,只爲本身記錄一下。cli

相關文章
相關標籤/搜索