【发布时间】:2009-02-13 17:34:39
【问题描述】:
我发布了这个answer(更多的是一个想法),但无法确定是哪条消息触发了 WinForms Form.Load 事件。根据 Spy++ 和一些阅读,我建议它可能是 WM_SHOWWINDOW,但我想确定一下。
此外,除了 Spy++ 之外,还有更好的方法来准确查看哪个 Windows 消息触发了 .Net 事件?即使在 Spy++ 中关闭某些事件类型后,日志窗口也会很快填满。
谢谢。
【问题讨论】:
我发布了这个answer(更多的是一个想法),但无法确定是哪条消息触发了 WinForms Form.Load 事件。根据 Spy++ 和一些阅读,我建议它可能是 WM_SHOWWINDOW,但我想确定一下。
此外,除了 Spy++ 之外,还有更好的方法来准确查看哪个 Windows 消息触发了 .Net 事件?即使在 Spy++ 中关闭某些事件类型后,日志窗口也会很快填满。
谢谢。
【问题讨论】:
没有与 Form 类上的 Load 事件相对应的特定 Windows 消息。该事件只是在创建窗体的窗口句柄后第一次使窗口可见之前触发。
用于初始化,需要在Form第一次显示之前创建Form的窗口句柄。
【讨论】:
我在这里猜测,但配置您的开发环境以使用 Microsoft 的源服务器,然后查看 System.Windows.Forms 代码可能会有所帮助。请参阅 Shawn Burke 的博客条目Configuring Visual Studio to Debug .NET Framework Source Code。
【讨论】: