C#中关闭窗体的四种方法

举报
翟文彪 发表于 2021/12/25 23:55:41 2021/12/25
【摘要】 1. close(): 指仅关闭当前窗体,如果不是主窗体(包含主线程的窗体,并非MDI窗体)的话,是无法退出整个程序的。如果有托管线程也无法退出。   此方法会调用 dispose() 方法,所以它会自...

1. close():

指仅关闭当前窗体,如果不是主窗体(包含主线程的窗体,并非MDI窗体)的话,是无法退出整个程序的。如果有托管线程也无法退出。
  此方法会调用 dispose() 方法,所以它会自动的帮我们释放内存,除了以下两种情况:(1)该窗体是多文档应用程序(MDI)的一部分并且此窗体不可见;(2)此窗体是“模态”窗体。
  close() 方法执行的时候会触发两个事件:Form_Closing 和 Form_Closeed 事件,Form_Closing 是在窗体关闭时执行,Form_Closed 是在窗体关闭之后执行,所以如果想取消关闭窗体,可以在 Form_Closing 事件里取消。

2. Application.Exit():

强制所有消息中止,退出所有的窗体,但是若有托管线程(非主线程),也无法干净地退出。

3. Application.ExitThread():

强制中止调用线程上的所有消息,同样面临其它线程无法正确退出的问题。

4. System.Environment.Exit(0);

这是最彻底的退出方式,不管什么线程都被强制退出,把程序结束的很干净。 参数0:代表程序正常退出;参数1:代表程序非正常退出。

作者:张伟杰-Vijay
来源:CSDN
原文:https://blog.csdn.net/zwj_jyzl/article/details/82316151

文章来源: blog.csdn.net,作者:翟文彪,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/zwb568/article/details/114242371

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。