新的Show(),ShowDialog()和Application.Run()函数有什么区别?
在main
(winforms)中,我看到了:
Application.Run(new Form1());
然后,对于Form1,我还看到了Form1.Show()
的描述:“向用户显示控件。”
对于ShowDialog,它说“将表单显示为模式对话框”。
这是什么意思?
它们的用途是什么,哪种最常见?
答案 0 :(得分:67)
Show
函数以非模态形式显示表单。这意味着您可以单击父表单。
ShowDialog
以模态方式显示表单,这意味着您无法转到父表单
Application.Run()
运行主父表单,并使该表单成为主表单。 Application.Run()通常位于main
。
答案 1 :(得分:9)
Show
以非模态方式显示表单。ShowDialog
以modal方式显示表单。Application.Run
启动应用程序的消息循环,并将表单显示为应用程序的主要表单答案 2 :(得分:5)
Application.Run()启动Windows窗体应用程序的消息循环。在最基本的层面上,它使过程保持活着,直到最后一个表格关闭。
http://msdn.microsoft.com/en-us/library/system.windows.forms.application.run(v=vs.110).aspx
Show()方法显示处于非模态状态的窗体。
http://msdn.microsoft.com/en-us/library/szcefbbd(v=vs.110).aspx
ShowDialog()方法显示一个处于模态状态的窗口,并停止执行调用上下文,直到从该方法打开的窗体返回结果。
http://msdn.microsoft.com/en-us/library/c7ykbedk(v=vs.110).aspx