调用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有什么好处吗?在c# Winforms应用程序中运行

不,如果你想以这种方式构建程序,那么调用Application.Run()就没有意义了。调用Application.Exit()也没有意义,它已经在Main()方法结束时终止了。

Form.ShowDialog()方法已经在底层调用了Application.Run()。对话框变成模态的基本方式,以及为什么你的代码没有在ShowDialog()之后立即恢复到下一个语句。就像使用Show()一样。直到dispatcher循环结束,通过关闭窗体或设置dialgresult属性触发。

这是您通常需要通过检查ShowDialog()返回值来测试的东西。现在,当第一个窗口出现时,用户没有很好的方法来结束你的应用程序,这可能会很混乱。