我已经查看了 MSDN 文档和几个 SO 答案,所有迹象都表明这是可行的。在这一点上,我想我要么完全误解了会发生什么,要么我错过了我需要的一行代码。
简而言之,我有一个带有按钮的 WinForms 应用程序,我想要另一个函数在代码中的某个位置“单击”该按钮。以下是相关位:
// form.Designer.cs
this.btnAddBranch.Click += new System.EventHandler(this.btn_add_Click);
// form.cs
// using statements
public partial class EditClient : Form
{
// ...
public TestClick()
{
//btnAddBranch.PerformClick(); <-- would like to know why this fails ...
btn_add_Click(this, EventArgs.Empty);
}
private void btn_add_Click(object sender, EventArgs e)
{
MessageBox.Show("You clicked it!");
}
}
注释行btnAddBranch.PerformClick()
是我希望做的相当于它下面的行。TestClick()
但它没有,当被调用时它似乎没有做任何事情。如果我做未注释的行,它工作正常。
我错过了什么,还是我完全误解了什么?