我有一个游戏应用程序,当游戏窗体关闭时,主菜单总是弹出。因此,当用户关闭主菜单窗体时,所有应用程序都应该停止运行。我正在尝试处理主菜单的 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();
}
我做错了什么,还是我应该添加一些东西才能使它起作用?