button共用Click事件(委派)

共用一個Click事件的好處,程式碼變短了,也容易閱讀,
此例的功能是共用同一個Click事件,當按下button時,顯示該button的Text文字

    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
             btn();
        }
        protected new void Click(object sender)
        {
            textBox1.Text = "這是: " + ((Button)sender).Name;
        }
        private void btn01_Click(object sender, EventArgs e)
        {
           Button btn = (Button)sender;
            //判斷哪個鍵被按
            switch (((Button)sender).Name)
            {
                case "btn01":
                    Click(sender);
                    textBox1.BackColor = System.Drawing.Color.SkyBlue;
                    break;
                case "btn02":
                    Click(sender);
                    textBox1.BackColor = System.Drawing.Color.Yellow;
                    break;
                case "btn03":
                    Click(sender);
                    textBox1.BackColor = System.Drawing.Color.Green;
                    break;
            }
        }

    private void btn()
        {//動態產生3個button Click事件
            Button[] btn = new Button[3];
            for (int i = 0; i < btn.Length; i++)
            {
                btn[i] = new Button();       //實體化Button
                btn[i].Click += new EventHandler(btn01_Click);
            }
        }
    }

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料

近期留言
分類
BlogUpp!