这篇文章主要介绍了C#中WinForm程序退出方法,
实例总结了技巧退出WinForm程序窗口的各种常用技巧,非常具有实用价值,需要的朋友可以参考下
本文实例总结了C#中WinForm程序退出方法技巧。分享给大家供大家参考。具体分析如下:
在c#中退出WinForm程序包括有很多方法,如:this.Close(); Application.Exit();Application.ExitThread(); System.Environment.Exit(0);
等他们各自的方法不一样,下面我们就来详细介绍一下。
1.this.Close();
只是关闭当前窗口,若不是主窗体的话,是无法退出程序的,另外若有托管线程(非主线程),也无法干净地退出;
2.Application.Exit();
强制所有消息中止,退出所有的窗体,但是若有托管线程(非主线程),也无法干净地退出;
3.Application.ExitThread();
强制中止调用线程上的所有消息,同样面临其它线程无法正确退出的问题;
4.System.Environment.Exit(0);
这是 最彻底的退出方式,不管什么线程都被强制退出,把程序结束的很干净。 强烈推荐 (我使用的就是这一个,在窗体关闭结束的事件里面调用该方法 如下面示例。之前出现的问题就是做聊天室的时候,客户端窗体关闭了但是套接字还存在因为线程没有全部关闭 所以出现服务器检测不到该用户关闭的问题 一些需要客户端进行操作的服务由于客户端的界面已经关闭也无法完成。之后只能使用心跳包完成连接的检测。当发送信息出错时在异常里面关闭掉对应的套接字,去除相关信息) <