我在想WinForms就像任何其他类一样。但是从项目开始让我感到困惑。为什么新的Form从Application.Run开始,它内部发生了什么样的机制?
答案 0 :(得分:12)
正如它在documentation中所说的,它开始在当前线程上运行标准的应用程序消息循环。消息循环处理点击,按键,绘制请求以及许多其他事情。
当调用with a form as an argument时,它也会使该表格可见。
答案 1 :(得分:4)
这可以追溯到Win32 API。 Winforms位于win32 api之上。 Application.Run()将您的程序插入(实现)win32 message loop。几乎所有鼠标和键盘事件(以及用户发起的大多数事情)都是win32消息。