调用Application有什么好处吗?在c# Winforms应用程序中运行
本文关键字:Winforms 应用程序 运行 Application 什么 调用 | 更新日期: 2023-09-27 18:07:08
我正在设计一组顺序模态对话框。下面的代码似乎可以工作,没有任何问题。通过创建一个自定义ApplicationContext并将其传递给Application,我将获得什么?运行或将最后一个模态对话框传递给应用程序。运行代替调用ShowDialog?(编辑:显然调用Application.Run(…)将取代Application.Exit())
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Form1 f = new Form1();
f.ShowDialog(); //Show a modal dialog
Form1 f2 = new Form1();
f2.ShowDialog(); //Chain another modal dialog
Application.Exit();
}
不,如果你想以这种方式构建程序,那么调用Application.Run()就没有意义了。调用Application.Exit()也没有意义,它已经在Main()方法结束时终止了。
Form.ShowDialog()方法已经在底层调用了Application.Run()。对话框变成模态的基本方式,以及为什么你的代码没有在ShowDialog()之后立即恢复到下一个语句。就像使用Show()一样。直到dispatcher循环结束,通过关闭窗体或设置dialgresult属性触发。
这是您通常需要通过检查ShowDialog()返回值来测试的东西。现在,当第一个窗口出现时,用户没有很好的方法来结束你的应用程序,这可能会很混乱。