none
为何在 Application.Run 之前也可以显示窗体并接收消息? RRS feed

  • 问题

  • MSDN 文档中说要用 Application.Run 来开始一个消息循环,但我在 Application.Run 之前也可以创建并显示窗体没有何任问题,在Windows里窗体程序是必须要有消息循环的,也就是说虽然我没有调用 Application.Run方法 C# 也为窗体创建了消息循环i,那要 Application.Run 还有什么用?
    2011年12月12日 3:22

答案

  • Application.Run() 会设置一个主窗体。该窗体的句柄将作为该应用程序的 Process 的主窗口句柄 (Main Window Handle)。Windows 中的每一个 Process 都需要一个 Main Window Handle 来让 Windows 知道该程序的主消息循环在哪里。比如,Form1 是主窗体,那么关闭 Form1  也就等于关闭该程序。相反,在 Application.Run 之前产生的窗体不会因为团比它们而导致整个程序关闭。
    Mark Zhou
    2011年12月12日 7:21