OKボタンとキャンセルボタンのあるフォームを使用しています。ユーザーが [キャンセル] ボタンをクリックすると、フォームを閉じるかどうかを確認するメッセージが表示されます。[OK] をクリックすると閉じますが、[キャンセル] をクリックすると、フォームは閉じられませんが、それは何が起こっているかを正しく知っており、フォームにいくつかのイベント コードを追加することをテストしましたが、まだ閉じています。正しく動作させるにはどうすればよいですか?
// Button - Cancel
private void btnCancel_Click(object sender, EventArgs e)
{
// Message box to confirm or not
if (MessageBox.Show("Do you really want to cancel and discard all data?",
"Think twice!", MessageBoxButtons.YesNo, MessageBoxIcon.Question) ==
DialogResult.Yes)
{
// Yes
//this.Close(); // Closes the contact form
m_closeForm = false;
}
else
{
m_closeForm = false;
// No
// Do nothing, the user can still use the form
}
}
private void ContactForm_Formclosing(object sender, FormClosingEventArgs e)
{
if (m_closeForm)
e.Cancel = false; // Stänger formuläret. Inget skall hända
else
e.Cancel = true; // Stänger inte formuläret
}