Visual Studio C# - X Button 只关闭一个窗体而不是整个程序
Visual Studio C# - X Button only closes one form rather than the whole program
所以我的问题很简单,我有一个带有登录功能的程序,如果一切顺利,它会打开另一个表单并隐藏自己。
我的问题是,在打开的新表单中,点击 X 按钮关闭 window 只会关闭表单,但会留下另一个 运行,连同该过程。
我有一个关闭程序的退出按钮,但是有什么方法可以让 X 按钮完全关闭程序吗?
谢谢!
您是否尝试过在关闭事件中使用 Application.Exit() handler.Also 如果您创建了任何线程,您需要确保将它们转换为背景。
在您的按钮单击事件处理程序中使用 Application.Exit()
。根据文档,它终止所有消息循环并关闭所有 windows 从而使您的表单有可能执行其清理代码(在 Form.OnClose 等中)。
您需要处理 Closed
或 'FormClosed' 事件。关闭表单时会引发此事件。
创建子窗体时使用其中一个。
childForm.Closed += (s, ev) => Application.Exit();
childForm.FormClosed += (s, ev) => Application.Exit();
更新:
抱歉,我可能忽略了问题的最后一部分,因为您有 X
按钮,其中有 Click
事件,您可以简单地对该事件调用 Application.Exit();
。
如果您有 Form1、Form2 并且需要在关闭按钮写入中关闭 Form2
this.Close();
如果需要关闭 Form1(Main) 那么
Application.Exit();
所以我的问题很简单,我有一个带有登录功能的程序,如果一切顺利,它会打开另一个表单并隐藏自己。
我的问题是,在打开的新表单中,点击 X 按钮关闭 window 只会关闭表单,但会留下另一个 运行,连同该过程。
我有一个关闭程序的退出按钮,但是有什么方法可以让 X 按钮完全关闭程序吗?
谢谢!
您是否尝试过在关闭事件中使用 Application.Exit() handler.Also 如果您创建了任何线程,您需要确保将它们转换为背景。
在您的按钮单击事件处理程序中使用 Application.Exit()
。根据文档,它终止所有消息循环并关闭所有 windows 从而使您的表单有可能执行其清理代码(在 Form.OnClose 等中)。
您需要处理 Closed
或 'FormClosed' 事件。关闭表单时会引发此事件。
创建子窗体时使用其中一个。
childForm.Closed += (s, ev) => Application.Exit();
childForm.FormClosed += (s, ev) => Application.Exit();
更新:
抱歉,我可能忽略了问题的最后一部分,因为您有 X
按钮,其中有 Click
事件,您可以简单地对该事件调用 Application.Exit();
。
如果您有 Form1、Form2 并且需要在关闭按钮写入中关闭 Form2
this.Close();
如果需要关闭 Form1(Main) 那么
Application.Exit();