http://blog.csdn.net/shashoutian2005/article/details/2676762
我們現在有一個窗體,其中有2個控件:Panel和Button,要求實現在單擊按鈕向Panel中動態添加按鈕及其對應的事件,那該怎麼做呢?
在看這個之前大家可以先去看下我轉載的那個C#中的預定義事件處理機制[轉].這樣更容易理解以下的程序
首先,創建一個全局變量"i "用來區分各個新的按鈕:
private int i=0;
然後在已有的按鈕中添加方法如下:
private void button1_Click(object sender, System.EventArgs e)
{
i++;
Button b = new Button();//創建一個新的按鈕
b.Name="b"+i;//這是我用來區別各個按鈕的辦法
System.Drawing.Point p = new Point(12,13+i*30);//創建一個座標,用來給新的按鈕定位
b.Location = p;//把按鈕的位置與剛創建的座標綁定在一起
panel1.Controls.Add(b);//向panel中添加此按鈕
b.Click += new System.EventHandler(btn_click);//將按鈕的方法綁定到按鈕的單擊事件中b.Click是按鈕的單擊事件
}
完成以上步驟就已經可以進行動態按鈕的創建
下面我們來講如何對新建的按鈕添加對應的事件方法btn_click():
private void btn_click(object sender, System.EventArgs e)
{
Button b1 = (Button)sender;//將觸發此事件的對象轉換爲該Button對象
MessageBox.Show(""+b1.Name);
}
至此就已經完成了動態創建按鈕和事件