在我的winform中,在我的表单的designer.cs部分
this.Button1.Text = "&Click";
this.Button1.Click += new System.EventHandler(this.Button1_Click);
in form.cs
private void Button1_Click(object sender, System.EventArgs e)
{
//Code goes here.
}
在表单的一部分中我有一个树视图,当树视图内容被展开时,我需要重命名上面的按钮并连接一个不同的事件
Button1.Name = "ButtonTest";
ButtonTest.Click += new System.EventHandler(this.ButtonTest_Click);
但是,如果找不到ButtonTest,我怎么会动态更改按钮名称并调用不同的点击事件方法?
private void ButtonTest_Click(object sender, System.EventArgs e)
{
//Code goes here.
}
一旦这被称为ButtonTest_Click,我需要将它重命名为Button1,有什么想法吗?
答案 0 :(得分:6)
Button1
指的是变量名称。该变量指向具有Button
属性的Name
类型的实例。如果更改Name
属性的值,则不会更改变量的名称。您仍然需要将按钮称为button1
。实际上,它并没有真正改变按钮的Name
属性的值。 Name
属性仅用于帮助Windows窗体设计器。
如果要将事件处理程序从一个方法更改为另一个方法,则必须首先取消订阅原始处理程序,然后订阅新处理程序。只需将您的代码更改为:
Button1.Name = "ButtonTest";
Button1.Click -= this.Button1_Click;
Button1.Click += this.ButtonTest_Click;
答案 1 :(得分:0)
这可以通过以下几种方式完成:
来自菜单:编辑 - >重构 - >重命名
通过方法名称的上下文菜单:重构 - >重命名
将光标放在方法名称上,然后键入Alt + Shift + F10,然后选择重命名
将光标放在方法名称上,然后按F2