从函数调用按钮OnClick

我有一个OnClick = Button_Click的按钮。 我想从另一个函数调用Button_Click,但问题是我需要给它:

(object sender, EventArgs e) 

我应该为这些参数输入什么? 它有什么办法吗?

你可以做到这一点

  Button_Click(null,EventArgs.Empty); 

虽然我同意提取可以从任何地方调用的函数更好。

例如,如果你有

 protected void Button_Click(object sender, EventArgs e) { //some list of code } 

此代码应放在一些新方法中,然后从Button_Click或任何其他方法调用

 private void ExtractedMethod() { //some list of code } protected void Button_Click(object sender, EventArgs e) { ExtractedMethod(); } 

我建议你阅读一本书“ 重构:改进现有代码的设计”,Martin Fowler撰写。 这是架子上的必备品。 你会不时回到那本书,它是永恒的。

或者,如果操作主要由按钮完成,或者为了避免额外的方法,从.Net 4.0开始,有一个名为.PerformClick()的函数。 所以

Button.PerformClick();

将从代码内部执行按钮单击。

将“onclick”中的function提取到另一个function中。 然后,您可以从任何地方调用它,包括onClick。