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

时间:2013-08-20 13:43:47

标签: c# winforms mvp

我正在使用一个简单的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()之间是否存在显着差异,在这种情况下会决定使用一个而不是另一个?据我所知,测试应用程序没有任何不同的运行方式,但我知道在软件方面这并不意味着什么。

1 个答案:

答案 0 :(得分:0)

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