2

我在一个项目中有一小段代码:

private void textBox1_TextChanged(object sender, EventArgs e)
{
    button2_Click();
}

private void button2_Click(object sender, EventArgs e)
{
    x = 0;
}

现在,我想调用 button2_Click 方法,但我不能,因为我必须传递参数。

问题是,我不知道调用该方法时要传递什么参数。

我应该通过什么?

4

2 回答 2

1

像这样使用

private void textBox1_TextChanged(object sender, EventArgs e)
{
    button2_Click(this.button2,EventArgs.Empty);
}

private void button2_Click(object sender, EventArgs e)
{
    x = 0;
}   

只需将其视为正常参数。但这不是推荐的。最佳实践是提取 button2_Click 的主体并调用 Extract 方法。button2_Click 应始终由用户界面触发。例如:

private void textBox1_TextChanged(object sender, EventArgs e)
{
   method();
}

private void button2_Click(object sender, EventArgs e)
{
    method();
}   
public void method(){
  //x=0 or other
  ....
}
于 2013-10-19T15:42:51.680 回答
-1

没关系,我刚用过:

button2_Click(sender, e)

它奏效了。

于 2013-10-19T14:30:00.677 回答