Mat*_*ijs 4 c# visual-studio winforms
我试图通过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;
}
}
Run Code Online (Sandbox Code Playgroud)
当用户单击是时,我想让整个应用程序退出.但是,我有一个主窗体,它起到登录窗体的作用.当用户登录时,主窗体将被隐藏,并显示不同的窗体.
因此,当用户单击"是"时,整个应用程序不会因为隐藏的表单而结束.如何确保整个应用程序关闭?
我尝试过Application.Exit(),这会触发消息框再次确认关闭,因为它调用了OnFormClosing事件.
你可以明确地处理Application.Exit它自己的原因:
protected override void OnFormClosing(FormClosingEventArgs e)
{
base.OnFormClosing(e);
if (e.CloseReason == CloseReason.WindowsShutDown
|| e.CloseReason == CloseReason.ApplicationExitCall)
return;
Run Code Online (Sandbox Code Playgroud)
这将允许您使用Application.Exit()在处理程序中正确关闭.或者,您可以直接关闭主(隐藏)表单.
| 归档时间: |
|
| 查看次数: |
479 次 |
| 最近记录: |