天问

c#中退出WinForm程序

最近在开发C#项目时候,主窗体A,子窗体B,C。子窗体内新建后台线程:

var t1=new Thread(new ThreadStart(Thread1));
            t1.IsBackground = true;
            t1.Start();

但是调用Application.Exit()程序仍然不能退出!

--------------引

在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);   这是最彻底的退出方式,不管什么线程都被强制退出,把程序结束的很干净。

博客地址:http://blog.yoqi.me/?p=13910
扫我捐助哦
喜欢 0

这篇文章还没有评论

发表评论