c#退出应用程序办法

c#退出应用程序办法有c#

Application.Exit();//好像只在主线程能够起做用,并且当有线程,或是阻塞方法的状况下,很容易失灵
this.Close();//只是关闭当前窗体。
Application.ExitThread();//退出当前线程上的消息循环,并关闭该线程上的全部窗口。 也会失灵
Environment.Exit(0); //前面三种方法都不能很好的退出程序,此方法能够彻底退出程序,这个要强制得多。
Process.GetCurrentProcess().Kill();//此方法彻底奏效,绝对是彻底退出。 this

一些操做能够关注:GC.Collect() .net

另:线程

1,将主线程设置为后台进程。方法是将主线程的isBackground = true。听说,这样在关闭主程序时后关闭主线程,并关闭全部的线程。

2,有人列出了c#程序退出的几种方法:设计

(1)Application.Exit()//好像只在主线程能够起做用,并且当有线程,或者是阻塞方法的状况下,很容易失灵。进程

(2) System.Environment.Exit(0) //不管在主线程或其它线程,均可以吧程序结束干净it

(3)Application.ExitThread();io

可是我发现(2)这个方法在.netFrame Work compact下是没有的我这样程序设计

最后个人解决办法是强制退出程序进程,代码以下:后台

System.Diagnostics.Process tt = System.Diagnostics.Process.GetProcessById(System.Diagnostics.Process.GetCurrentProcess().Id);
tt.Kill();

固然,这种方法很暴力。良好的程序设计应该是全部的线程都有条件能够结束循环以退出(包括timer),在程序退出时触发全部线程的终止条件。

相关文章
相关标签/搜索