c# Winfrom程序的退出方法

今天做tcp连接,想在连接不上的时候退出程序,使用application.exit()竟然无法退出,程序继续向下执行。后来才发现application也不是万能的,winfrom退出程序的方法一般有以下几种

1.this.Close();   只是关闭当前窗口,若不是主窗体的话,是无法退出程序的,另外若有托管线程(非主线程),也无法干净地退出;

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

3.Application.ExitThread(); 强制中止调用线程上的所有消息,同样面临其它线程无法正确退出的问题;

4.System.Environment.Exit(0);   这是最彻底的退出方式,不管什么线程都被强制退出,把程序结束的很干净。

posted @ 2015-03-31 16:00  疯行者  阅读(604)  评论(0编辑  收藏  举报