質問
ユーザーがC#で私のプログラムの終了を確認するように求められるように、私はそれを作ろうとしていますが、何らかの理由で、彼らが「はい」と言うなら、彼らは終了したい場合、確認ボックスが再びポップアップします。理由がわからない。
if (MessageBox.Show("Are you sure you want to exit?", "Confirm exit", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No)
{
e.Cancel = true;
}
else { Application.Exit(); }
解決
ああ、チェックしましたか CloseReason
のために FormClosing
イベント? 2つの異なる理由で同じイベントを取得するかもしれないと思います(ただし、それが正常に起こるとはまったく期待していません)。あなたをチェックしてください FormClosingEventArgs
パラメーターが何であるかを確認します。
他のヒント
これを使って
private void frmMain_FormClosing(object sender, FormClosingEventArgs e)
{
if (MessageBox.Show("Are you sure you want to close?", "Infomate", MessageBoxButtons.YesNo) == DialogResult.No)
{
e.Cancel = true;
}
}
ああ、私はそれを修正する方法を見つけました。 application.exit()を削除しました。 FormClosingイベントからのイベント、およびそれをフォームクローズイベントに移動しました。それはすべて機能しています。
所属していません StackOverflow