我正在开发一个C#WinForms
应用程序。在FormLoad
事件中,我动态创建并添加到表单100按钮,没有文字,但名称如button1
,button2
等。另外,在这些按钮上创建后,我动态链接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);
}
答案 0 :(得分:6)
sender
参数是事件处理程序封装触发事件的对象的实例:
Button button = (Button) sender;
String text = button.Text;