Application.Run()是"Begins running a standard application message loop on the current thread, and makes the specified form visible." 用代码可以表示为:
while(GetMessage(&msg)>0)
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
执导受到WM_QUIT,退出应用程序。而使用Form.Show()方法则Form显示后就立刻退出程序。如果用Form.ShowDialog()是模化对话框所以不会立刻消失,但是如果您还有其他窗口,Form.ShowDialog()显示的是模态窗口,只有它退出,其他窗口才能显示,但是一旦退出整个程序就推出,其他窗口将永不会得到运行机会,而用Application.Run()就不会出现这种现象。
while(GetMessage(&msg)>0)
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
执导受到WM_QUIT,退出应用程序。而使用Form.Show()方法则Form显示后就立刻退出程序。如果用Form.ShowDialog()是模化对话框所以不会立刻消失,但是如果您还有其他窗口,Form.ShowDialog()显示的是模态窗口,只有它退出,其他窗口才能显示,但是一旦退出整个程序就推出,其他窗口将永不会得到运行机会,而用Application.Run()就不会出现这种现象。
本文详细解释了在C#中使用Application.Run()、Form.Show()和Form.ShowDialog()方法的不同作用及应用场景。重点讨论了它们在启动应用消息循环、窗口显示与关闭方式上的区别,帮助开发者更好地选择合适的API来实现不同需求。
1884

被折叠的 条评论
为什么被折叠?



