さて私もそのような問題にこだわる。私のアプリには2つのフォームがあります。#1メイン、#2-設定用です。ユーザーが閉じた場合、設定を保存するかどうかを知りたいです。また、設定がnullの場合-フォームだけでなくアプリを閉じる、ユーザーがボタンを保存をクリックした場合-#2フォームを閉じる(非表示にする)必要があります。だから私の解決策はどこにありますか?ボタンを保存をクリックするとタグ値を1に設定するので、「誰が」フォームを閉じようとしているのかがわかります:事前定義:
btnSave.Tag = 0;
保存ボタンクリックイベント時:
btnSave.Tag = 1;
this.Hide();
oncloseイベントをトリガーします。
private void frmLogin_FormClosing(object sender, FormClosingEventArgs e)
{
if (btnSave.Tag.ToString() == "0")
{
DialogResult dlg = MessageBox.Show("Do you want to exit without finished setup connection?", "Form", MessageBoxButtons.YesNo, MessageBoxIcon.Information);
if (dlg == DialogResult.No)
{
e.Cancel = true;
}
else
{
e.Cancel = false;
this.Dispose();
Application.Exit();
}
}
else
{
this.Hide();
}
}