簡體   English   中英

動態創建的事件處理程序的訪問控制屬性

[英]Access control properties from its dynamically created Event Handler

我正在開發C# WinForms應用程序。 FormLoad事件上,我動態創建並添加到窗體100中的按鈕,這些按鈕沒有文本,但是具有諸如button1button2等之類的名稱。此外,在這些按鈕上,創建它們之后,我為ButtonClick事件動態鏈接了唯一的事件處理程序。 如何從事件處理程序(更具體地說是按鈕名稱)中訪問按鈕的屬性? 如果使用this.Name,我將得到表單的名稱,而不是按鈕的名稱。

以后編輯:(對於那些可能在這里尋找解決方案的人)

private void function1()
{
    Button a = new Button();

    a.Name = "button" + (i * j).ToString();
    a.Click += new EventHandler(OnFieldButtonClicked);
}

private void OnFieldButtonClicked(object sender, EventArgs e)
{
    Button button = (Button)sender;
    MessageBox.Show(button.Name);
}

sender參數是事件處理程序,它封裝了觸發事件的對象的實例:

Button button = (Button) sender;
String text = button.Text;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM