WinForms中的预定义事件

时间:2018-03-30 19:50:51

标签: .net winforms winapi

我有一个问题,预定义事件是如何工作的,如按钮点击,表单加载等。当我们点击按钮或表单加载时编译器发送消息到表单类或按钮类?我搜索了有关此问题的网站数量但我没有得到答案。这些网站只显示如何创建活动以及如何订阅它。我想知道。如果有人知道这一点,请与我分享。

1 个答案:

答案 0 :(得分:1)

Windows发送某个Windows消息时会触发这些事件。 WndPrc方法捕获此消息,这最终将导致WinForms实现启动相应的事件。 (这实际上是Windows API的包装器)

可以找到更多信息herehere

例如,您还可以查看WinForms Button类的source code,并查看OnClick事件的引发时间。在WndProc方法中,如果设置了WParam中高位的特定值的某个窗口消息(WM_COMMAND),则可以看到OnClick事件被引发。