0

MSDN http://msdn.microsoft.com/en-us/library/system.windows.forms.form.onformclosing.aspxによると

ユーザーがフォームを閉じるのをブロックしようとしています (Windows のシャットダウンを除く)。

protected override void OnFormClosing(FormClosingEventArgs e)
{
    if (e.CloseReason != CloseReason.WindowsShutDown)
    {
        e.Cancel = true;
        wiggle();
    }
    base.OnFormClosing(e);
}

タスク マネージャーの [タスクの終了] ボタンから閉じると、ウィンドウが期待どおりに閉じず、数秒後にエラーが発生する

ここに画像の説明を入力

Windows は、プログラムが応答しているかどうかをどのように判断しますか? フォームが行うことはすべて何もありません...

4

1 に答える 1

0

タスク マネージャーはプログラムを閉じるように要求しましたが、閉じませんでした。少なくとも WinXP では、タスク マネージャはそれを好まず、数秒後に「応答なし」ウィンドウを表示します。

特にこの方法で、アプリの終了を防止しようとするのは通常、悪い設計です。TaskMan の次のタブは、そのようなチェックをバイパスします。

于 2011-12-09T22:01:24.650 に答える