ゲーム フォームを閉じると常にメイン メニューがポップアップするゲーム アプリケーションがあります。そのため、ユーザーがメイン メニュー フォームを閉じると、すべてのアプリケーションの実行が停止するはずです。メイン メニューの Form_Closed イベントを処理して Application.Exit() を実行しようとしていますが、すべてのフォームが閉じられていても機能しないようです。アプリケーションはまだ実行中であり、手動で停止する必要があります。
これは、終了に関してゲーム フォームとメイン メニュー フォームにあるコードです。
ゲーム形式:
private void GameForm_FormClosing(object sender, FormClosingEventArgs e)
{
DialogResult dialogResult = MessageBox.Show("Are you sure you want to close this game?", "Exit Game", MessageBoxButtons.YesNo);
if (dialogResult == DialogResult.Yes)
{
this.Hide(); // hide the Game Form
}
else if (dialogResult == DialogResult.No)
{
e.Cancel = true; // cancel form closure
}
}
private void GameForm_FormClosed(object sender, FormClosedEventArgs e)
{
MainMenu menu = new MainMenu();
menu.Show();
}
そしてメインメニューフォームで:
private void MainMenu_FormClosed(object sender, FormClosedEventArgs e)
{
Application.Exit();
}
私は何か間違ったことをしていますか、それともこれを機能させるために何か追加する必要がありますか?