Два события, которые вы должны использовать: FormClosing
и FormClosed
.
В .Net Framework версии 2.0 эти события заменили устаревшие Closing
и Closed
события.
Причиной новых событий было то, что старые не возникали при вызове метода Application.Exit
.
Ниже приведен пример использования события FormClosing
:
public Form1()
{
InitializeComponent();
this.FormClosing += Form1_FormClosing;
}
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
DialogResult result = MessageBox.Show("Really close this form?", string.Empty, MessageBoxButtons.YesNo);
if (result == DialogResult.No)
{
e.Cancel = true;
}
}
Этот код просто спрашивает пользователя, хотят ли они закрыть форму, и если выбрано Нет, он отменяет событие.В обработчик событий можно поместить любую логику.
Статья MSDN по Form.Closing
здесь здесь и содержит ссылки о том, почему событие устарело.Ссылка для Form.FormClosing
здесь