2009-09-17 141 views
0

在我的節目我動態地將按鈕添加到我的形式動態地添加控件[e.g按鈕]:如何添加事件和訪問

{ 
    ... 
    Button bt = new Button(); 
    bt.Text = "bla bla"; 
    bt.MouseClick += new MouseEventHandler(bt_MouseClick); 
    myPanel.Controls.Add(bt); 
    ... 
} 

void bt_MouseClick(object sender, MouseEventArgs e) 
{ 
    TabPage _tab = new TabPage(); 
    _tab.Text = ??? // I want to get the Button's text ! this.Text returns me the 
        //main form.Text 
} 

如何可以訪問我的動態按鈕的屬性?我怎麼理解whick按鈕是 點擊獲取其文字。

謝謝。

回答

1

EventHandler delegate被調用時,該sender參數是引發事件的分量,並且e參數是EventArgs一個子類,其提供所述事件的任何其他組件/事件的具體信息。

因此,您可以建立觸發的事件由鑄造sender參數Button哪個按鈕:

void bt_MouseClick(object sender, MouseEventArgs e) 
{ 
    var button = (Button)sender; 
    TabPage _tab = new TabPage(); 
    _tab.Text = button.Text; 
} 
2
void bt_MouseClick(object sender, MouseEventArgs e) 
{ 
    TabPage _tab = new TabPage(); 
    _tab.Text = ((Button)sender).Text; 
}