繁体   English   中英

C#-手动关闭表单应用程序

[英]C# - Manually closing a forms application

我想知道完全终止Forms应用程序的适当方法。 我使用代码以标准方式打开表单:

namespace History
{
    static class Program
    {
        [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new DisplayHistory());
        }
    }
}

...这是DisplayHistory函数的准系统版本,其中包含我尝试终止应用程序的各种操作。 前两个导致未处理的异常,表明我无法访问已处置的对象。 第三个完全没有作用,第四个完全不编译,因为我收到一条错误消息,说“应用程序不包含Current的定义”:

public DisplayHistory()
{
    InitializeComponent();

//    this.Close();
//    Close();
//    Application.Exit();
//    Application.Current.Shutdown();
}

与其尝试在构造函数中关闭它,不如不打开该窗体。

但是,如果您确实想根据某种条件在构造函数中关闭表单,则可以在代码中的InitializeComponent之前预订Load事件,然后使用this.Close()关闭表单:

public Form1()
{
    if (some criteria)
    {
        this.Load += (sender, e) => { this.Close(); };
    }
    return;

    InitializeComponent();
}

要正常关闭应用程序,您可以在以下形式的任何地方(以下形式的构造函数除外)调用以下代码:

  • this.Close();
  • Application.Exit();

要强制应用程序停止或异常关闭,可以在包括窗体构造函数的任何地方调用Environment.Exit

  • Environment.Exit(1);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM