【问题标题】:Firing a Button's Click event from outside Button从 Button 外部触发 Button 的 Click 事件
【发布时间】:2011-04-05 03:12:02
【问题描述】:

我有一个按钮,我需要从实际点击它的外部触发它的 Click 事件。但是,代码

myButton.Click(this, EventArgs.Empty);

给我错误

The event 'System.Windows.Forms.Control.Click' can only appear on the left hand side of += or -=

我该如何解决?

【问题讨论】:

    标签: .net winforms events button


    【解决方案1】:

    Button 类型有一个 PerformClick 方法,可以完全满足您的需求。

    【讨论】:

    • 令我困惑的是,在我自己的事件中,我将事件称为方法,我想知道为什么我不能在这里这样做。
    • @RCIX:嗯,你问这个已经两年多了;但我只是意识到我从未回复您的评论。您现在可能已经知道这一点,但为了后代:事件只能像定义它们的类中的方法一样被“调用”。这就是为什么您可以在定义它们的代码中触发您自己的自定义事件,但不能直接在外部类上触发事件,包括System.Windows.Forms.Button
    【解决方案2】:
    Button button = new Button();
    button.PerformClick();
    

    【讨论】:

      【解决方案3】:

      为什么不直接触发事件?

      如果您的事件被称为myButton_Click,您可以简单地从页面中的任何位置调用它

      myButton_Click(myButton, EventArgs.Empty);

      【讨论】:

      • 我可以这样做,但我正在尝试以其他方式这样做;)
      【解决方案4】:

      点击是一个事件,而不是一个方法。

      你可以调用巫婆添加到事件中的方法。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-11-02
        • 1970-01-01
        • 1970-01-01
        • 2013-03-12
        • 2013-07-01
        • 1970-01-01
        相关资源
        最近更新 更多