我正在尝试通过Form.Closing事件关闭我的WinForms应用程序,并显示自定义消息(你确定要退出吗?是/否)。为此,我已编辑了C#项目中每个窗体的onFormClosing事件,如下所示:
protected override void OnFormClosing(FormClosingEventArgs e)
{
base.OnFormClosing(e);
if (e.CloseReason == CloseReason.WindowsShutDown) return;
// Confirm user wants to close
switch (MessageBox.Show(this, "Are you sure you want to close?", "Closing", MessageBoxButtons.YesNo))
{
case DialogResult.No:
e.Cancel = true;
break;
default:
break;
}
}
当用户点击“是”时,我希望整个应用程序退出。然而,我有一个主窗体作为登录窗体。当用户登录后,主窗体被隐藏,显示不同的窗体。
因此,当用户点击“是”时,整个应用程序并不会结束,因为有一个隐藏的窗体。我该如何确保整个应用程序关闭?
我已经尝试过Application.Exit(),但这会再次触发确认关闭消息框,因为它调用了OnFormClosing事件。