私は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
}
「それは機能していません」は決して良い説明ではありません。 http://tinyurl.com/so-hintsを読んで質問を編集してください。 –
キャンセルオプション付きのメッセージボックスは、フォームを閉じるイベントに含まれている必要があります。 – jacqijvv
DialogResultプロパティをNoneに戻します。 –