从其动态创建的事件处理程序访问控制属性
本文关键字:程序 访问控制 属性 事件处理 动态 创建 | 更新日期: 2023-09-27 18:00:11
我正在开发一个C#WinForms
应用程序。在FormLoad
事件中,我动态地创建并添加到表单100中的按钮,没有文本,但名称为button1
、button2
等。此外,在创建这些按钮后,我会将ButtonClick
事件的唯一事件处理程序动态链接到这些按钮上。如何从事件处理程序中访问按钮的属性(更具体地说是按钮名称)?如果我用这个。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;