What does Button.PerformClick do?

本文关键字:do PerformClick Button does What | 更新日期: 2023-09-27 18:27:09

我知道这可能是一个微不足道的问题,但我只是想知道调用Button.PerformClick而不是直接调用按钮的点击事件是否有任何好处。MSDN文档简单地说:

为按钮生成Click事件。

这是否意味着它只做与调用按钮的点击事件相同的事情,或者是否有其他特殊优势?

What does Button.PerformClick do?

对订阅事件一无所知的外部调用程序不能简单地调用单击处理程序,而且事件不允许您获取有关订阅程序的信息。因此,这种方法允许分离关注点,这样外部调用方就可以"表现得很好"。

另外:

  • 它确保应用虚拟方法上的任何多态性
  • 它应用任何规则,例如:按钮被禁用了吗

如果您确实了解事件处理程序,并且没有使用多态性,并且不关心它是否被禁用,也不需要担心您不知道的事件处理程序——那么无论如何:只需调用事件处理程序方法。