Отмена OnFormClosing и диспетчер задач - PullRequest
0 голосов
/ 04 ноября 2011

По данным MSDN http://msdn.microsoft.com/en-us/library/system.windows.forms.form.onformclosing.aspx

Я пытаюсь заблокировать пользователя от закрытия формы (кроме закрытия окон).

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

При закрытии из диспетчера задач кнопкой «Завершить задачу» окно закрывается не так, как ожидалось, но через несколько секунд появляется ошибка

enter image description here

Как Windows определяет, отвечает программа или нет! Вся форма ничего не делает ...

1 Ответ

0 голосов
/ 10 декабря 2011

Диспетчер задач попросил закрыть программу, но этого не произошло. По крайней мере, в WinXP диспетчеру задач это не нравится, и через несколько секунд появляется окно «Не отвечает».

Попытка предотвратить закрытие приложения, как правило, это плохой дизайн, особенно таким образом. Следующая вкладка в TaskMan пропустит любые такие проверки.

...