Чтобы вручную ввести событие FormClosing, вы вызываете метод Close(), используя экземпляр формы для закрытия.
Это означает, что ваш вызов Close() должен быть выполнен из показанной формы, потому что вы использовали ShowDialog()
. Этот метод является модальным и не возвращает управление до тех пор, пока форма не будет закрыта.
Событие FormClosing принимает параметр FormClosingEventArgs, где вы можете найти свойство CloseReason. Это свойство представляет собой перечисление, в котором вы можете проверить причину закрытия события.
Если причина UserClosing
, то вы можете установить свойство Cancel из FormClosingEventArgs истина (оставляя форму открытой) и вызвать у вас есть процедура
Почему бы просто не назвать 'Close' на форме? – sloth
Конечно! Слишком легко подумать. Знаете ли вы ответ на комментарий? 2 в ответе Стива? – hark