Кнопка с буквой X в правом верхнем углу формы, как поймать это событие @ C # - PullRequest
2 голосов
/ 13 сентября 2009

Какое событие вызывается, когда я закрываю форму кнопкой X? Я хочу, чтобы событие происходило только при нажатии кнопки X; Я знаю, что есть событие FormClosing, но проблема в том, что оно срабатывает каждый раз, когда форма закрыта ... Он также срабатывает при выполнении frm.close(), и я не хочу, чтобы это произошло.

Ответы [ 4 ]

8 голосов
/ 14 сентября 2009

Вы можете проверить свойство CloseReason параметра FormClosingEventArgs. Это CloseReason.UserClosing, когда вы нажимаете кнопку «X».

8 голосов
/ 13 сентября 2009

В верхнем правом углу формы нет конкретного события, связанного с буквой X.

Вместо этого используйте событие формы FormClosing . Он имеет параметр Cancel, который можно установить на true, если вы не хотите, чтобы форма закрывалась. Это позволяет вам проверять закрытие форм другими способами, такими как нажатие кнопки ОК.

2 голосов
/ 13 сентября 2009

Как сказал Роберт, с 'X' нет конкретного события, но в основном у вас есть два варианта, которые можно использовать для решения вашей проблемы.

(i) Закрытие формы - это событие происходит, когда вы нажимаете «X», но перед закрытием формы. Таким образом, вы можете использовать этот обработчик событий, чтобы сделать некоторые вещи непосредственно перед закрытием формы. Например, вы можете предотвратить закрытие / уничтожение формы с помощью e.Cancel ();

(ii) Форма закрыта - это событие возникает, когда форма закрыта.

Привет

1 голос
/ 13 сентября 2009

Я использую событие OnClosing формы, которое также можно отменить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...