
Application.Run和Form.Show的区别
2个回答
展开全部
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()就不会出现这种现象。
展开全部
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()就不会出现这种现象。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询