应用程序没有完全关闭,不明白为什么

时间:2012-11-15 01:13:55

标签: c# winforms multithreading visual-studio-2010 visual-studio

我有一个如下打开的应用程序:(Program.cs)

        Main MainForm = new Main();
        Application.Run();

如果用户没有指定/隐藏选项,那么程序显示如下: (Main.cs)

internal Main()
{
    InitializeComponent();
    this.Show();
}

有时,如果文件不存在,程序需要立即关闭。所以我这样关闭它:( Main.cs)

private void MainLoad(object sender, EventArgs e)
{
    if (!File.exist("FilePath")
        this.Close();
}

在FormClosed上,我有这个:

Application.ExitThread();

这个命运几乎应用于应用程序,包括任务栏图标。但是,在Visual Studio上,程序仍在“运行”,直到我单击“停止调试”。 任何人都知道为什么会这样?

目标:如果用户指定/隐藏参数,我想启动程序最小化(不显示Flash屏幕)。 如果找不到某个文件,程序将自动关闭。

2 个答案:

答案 0 :(得分:0)

将此代码放入Program Main。

if (!File.Exists("FilePath"))
        {
            return;
        }

在表单中加载指定如下:

this.WindowState = FormWindowState.Minimized;

答案 1 :(得分:0)

而不是this.Close();,请尝试使用Environment.Exit();