1

WinForm アプリケーションがあり、それを開いてコンピューターを再起動しようとすると、コンピューターがハングアップして再起動しません。実際に WinForm アプリを閉じてから再起動する必要があり、コンピューターが再起動します。

これを解決するにはどうすればよいですか?

    private void Form1_FormClosing(object sender, FormClosingEventArgs e)
    {
        if (!BoolShouldThisClose)
        {
            e.Cancel = true;
            this.Visible = false;
        }
    }
4

2 に答える 2

1

フォームを閉じようとする Windows をブロックしないように、必ず CloseReason に注意してください。このような:

    protected override void OnFormClosing(FormClosingEventArgs e) {
        if (e.CloseReason == CloseReason.UserClosing) {
            this.Hide();
            e.Cancel = true;
        }
        else base.OnFormClosing(e);
    }
于 2010-09-17T17:51:43.943 に答える
0

アプリでスレッドを生成し、実行していますか? その場合は、IsBackground = true に設定されていることを確認してください。

于 2010-09-17T17:44:17.847 に答える