调用按钮的正确方法是什么';s单击事件

本文关键字:单击 事件 是什么 按钮 方法 调用 | 更新日期: 2023-09-27 18:00:15

此处:http://msdn.microsoft.com/en-us/library/hkkb40tf(v=VS.90).aspx,它说,要从另一个按钮调用按钮的点击事件,你可以/应该这样做:

button1.PerformClick();

然而,在我的情况下(VS 2003。NET 1.1),这不会编译(诚然,上面的链接指定了VS 2008,但它没有链接到以前版本的相关信息,就像msdn经常做的那样)。

这编译:

private void btnPrint_Click(object sender, System.EventArgs args)
{
    if (this.recordChanged)
    {
        //btnSave.Click();
        btnSave_Click(sender, args);
    }
    . . .

但我不知道这是不是办法。

调用按钮的正确方法是什么';s单击事件

将要执行的业务逻辑放在一个单独的方法中(例如DoSave()),然后您的事件处理程序都可以只调用该内部方法,而不是直接调用彼此。

通过直接调用事件处理程序方法来"伪造"事件是丑陋的,并可能导致错误(任何在未来修改事件处理程序的程序员都可能不知道它可能在与预期/记录不同的条件下被调用,这可能会导致打印选项在尝试执行保存操作时表现异常,甚至崩溃)

此外,您很有可能希望在将来从其他地方进行保存操作,因此将业务逻辑与激活它的使用接口分离始终是一个非常好的主意。

我会做btnSave.Click(sender, args);。这是MSDN上的页面:http://msdn.microsoft.com/en-us/library/aa645739(v=VS.71).aspx