如何在满载之前关闭应用程序?

时间:2010-06-21 09:15:24

标签: c# .net

是否有可能在启动应用程序的过程中阻止MainForm完全加载(不确定它的调用方式,组件初始化可能如何)?

我试过了:

public MainForm()
{
    if (true)
    {
        Application.Exit();
        return;
    }
    InitializeComponent();
}

public MainForm()
{
    if (true)
    {
        this.Close();
        Application.Exit();
        return;
    }
    InitializeComponent();
}

没有“返回”;同样。

第一个实际上什么也没做,而第二个解决方案抛出“无法访问已处置的对象”。错误?

甚至可以在完全加载之前关闭整个应用程序吗?

为了说清楚我想在数据库连接问题时阻止应用程序加载。

3 个答案:

答案 0 :(得分:9)

正如ho1所说,Environment.Exit就是答案。例如:

public MainForm()
{
    if (true)
    {
        Environment.Exit(0);
    }
    InitializeComponent();
}

如果if语句中的条件为true,则会导致应用程序关闭。

答案 1 :(得分:8)

按照here所述尝试Environment.Exit

答案 2 :(得分:0)

我认为rob_g给出的答案是要走的路。在显示表单之前初始化和验证数据库是我认为最好的解决方案!您还可以从表单构造函数中删除不必要的逻辑,因为表单不应该真正关心数据库初始化。