c# winform之多個控制元件統一事件處理程式

wisdomone1發表於2012-07-22
using System;
using System.Collections.Generic;
using System.Windows.Forms;
using System.Drawing;
using System.Drawing.Drawing2D;
using System.Collections;
namespace WindowsApplication1
{
    //手工編寫winform
    class test : Form
    {

        //測試control自帶的基方法與事件對應的方法執行情況(各是否執行及執行的次序)
        RadioButton rb1;
        RadioButton rb2;
        RadioButton rb3;
        string[] str ={"radio1","radio2","radio3" };
        public test()
        {
            rb1 = new RadioButton();
            rb1.Text = "radio1";
            rb1.Location = new Point(10, 10);
            rb1.Size = new Size(10, 10);
            rb1.Parent = this;

            rb2 = new RadioButton();
            rb2.Text = "radio2";
            rb2.Location = new Point(10, 40);
            rb2.Size = new Size(10, 10);
            rb2.Parent = this;

            rb3 = new RadioButton();
            rb3.Text = "radio3";
            rb3.Location = new Point(10, 70);
            rb3.Size = new Size(10, 10);
            rb3.Parent = this;

          //三個單選按鈕納入一個事件處理程式
          rb1.CheckedChanged+=new EventHandler(rb1_CheckedChanged);
          rb2.CheckedChanged += new EventHandler(rb1_CheckedChanged);
          rb3.CheckedChanged += new EventHandler(rb1_CheckedChanged);
        }

        //在統一事件處理程式中,判斷髮起事件的是不同的單選按鈕
        //透過controls哈哈,controls[i]
        private void rb1_CheckedChanged(object sender, EventArgs e)
        {
            for(int i=0;i
            {
                if ((RadioButton)sender == Controls[i])
                {
                    if (Controls[i].Text== str[i])
                    {
                        Label lb1 = new Label();

                    }
                }

              
            }
         }

        //經檢視control類沒有對應控制元件radiobutton的oncheckedchanged的方法
        //protected override void onch
        public static void Main()
       {
           Application.Run(new test());
       }
    }
           
        

    
 }

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/9240380/viewspace-736267/,如需轉載,請註明出處,否則將追究法律責任。

相關文章