ユーザーがフォームの閉じるボタンを押すと、メッセージ ボックスを介してプロセス (java.exe) を停止するコードを実行しています。したがって、「はい」ボタンを押すと、プログラムは実行中のすべてのプロセスをスキャンし、プロセスが実行中かどうかを確認します。プロセスが実行されていない場合は、アプリケーションを強制終了します。
問題は、メッセージが複数回ポップアップすることです。これは、彼がクロージング イベントをアクティブにし続けるために発生しますが、これを正しい方法でコーディングする方法がわかりません。
if (_isRunning)
{
if (MessageBox.Show("Are you sure you want to quit?", "Confirm Quit", MessageBoxButtons.YesNo) ==
DialogResult.Yes)
{
Stop();
_exited = true;
foreach (Process x in Process.GetProcesses())
{
while (x.Id == _processID)
{
Application.Exit();
e.Cancel = true;
return;
}
}
}
}
何か案は?