Я изменил свою программу, чтобы она запускалась, как показано ниже:
MainForm mainForm = new MainForm();
mainForm.Show();
Application.Run();
Вместо:
Application.Run(new MainForm());
В каждой из форм я добавил событие FormClosing, которое проверяет, решил ли пользователь закрыть приложение. В этом случае пользователю отображается запрос на подтверждение:
private void ImageSelect_FormClosing(object sender, FormClosingEventArgs e)
{
if (e.CloseReason == CloseReason.UserClosing)
{
if (DialogResult.No == MessageBox.Show("Are you sure you wish to exit?", "Exit Confirmation", MessageBoxButtons.YesNo))
e.Cancel = true;
else { Application.Exit(); }
}
}
Приложение теперь можно закрыть из любой формы приложения.