2种运行应用程序的方法。这是一样的吗?

时间:2016-07-16 01:57:18

标签: c# winforms

这是一个非常简单的问题。我想知道是否:

new Form1().Show();
Application.Run();

与此相同:

Application.Run(new Form1());

它似乎工作原理相同,但也许有些变化,我没有注意到。 我之所以这么说是因为我试图在WinForms应用程序中实现MVP模式,如果它是相同的,我有一些我不再需要的方法。

抱歉英语不好。 感谢。

1 个答案:

答案 0 :(得分:1)

根据documentation,有一个微妙的区别:

public static void Run(Form mainForm)
  

此方法将事件处理程序添加到Closed事件的mainForm参数。事件处理程序调用ExitThread来清理应用程序。

因此,如果您希望应用程序在表单关闭后自行清理,那么后一种方法似乎更好。