Application.Run()和ShowDialog()之间的区别

本文关键字:区别 之间 Run Application ShowDialog | 更新日期: 2023-09-27 18:28:24

我正在开发一个简单的Winform应用程序,作为使用MVP模式的第一步。我已经习惯了启动表单的标准、自动生成的代码,即Application.Run(new Form1());。我正在研究的MVP示例项目在Program.cs中做了很多工作,但基本部分是这样的:

TestView view = new TestView();
TestPresenter presenter = new TestPresenter(view);
presenter.LoadView();
view.ShowDialog();

据我所知,ShowDialog方法与Application.Run类似,因为它为对象创建了一个消息循环,所以它的功能应该与以Run开头的表单相同。

我的问题是:Application.Run()Show.Dialog()之间是否存在显著差异,这将决定在这种情况下使用一个而不是另一个?据我所知,从测试应用程序中没有什么不同的运行方式,但我知道这对软件来说意义不大。

Application.Run()和ShowDialog()之间的区别

Application.Run用于统计第一个表单。在第一个表单之后,您应该使用Form.Show()Form.ShowDialog()。两者之间的主要区别是ShowDialog()以模式启动表单,这意味着在关闭该表单(类似于MessageBox)之前,您无法切换到其他表单。