c#开发的应用程序做退出程序的代码
2013-08-04 22:12
330 查看
Application.Exit();//好像只在主线程可以起作用,而且当有线程,或是阻塞方法的情况下,很容易失灵
this.Close();//只是关闭当前窗体。
Application.ExitThread();//退出当前线程上的消息循环,并关闭该线程上的所有窗口。 也会失灵
Environment.Exit(0); //前面三种方法都不能很好的退出程序,此方法可以完全退出程序,这个要强制得多。
Process.GetCurrentProcess().Kill();//此方法完全奏效,绝对是完全退出。
一些操作可以关注:GC.Collect()
另:
1,将主线程设置为后台进程。方法是将主线程的isBackground = true。据说,这样在关闭主程序时后关闭主线程,并关闭所有的线程。
2,有人列出了c#程序退出的几种方法:
(1)Application.Exit()//好像只在主线程可以起作用,而且当有线程,或者是阻塞方法的情况下,很容易失灵。
(2) System.Environment.Exit(0) //无论在主线程或其它线程,都可以吧程序结束干净
(3)Application.ExitThread();
但是我发现(2)这个方法在.netFrame Work compact下是没有的我这样
最后我的解决办法是:强制退出程序进程。代码如下:
System.Diagnostics.Process tt = System.Diagnostics.Process.GetProcessById(System.Diagnostics.Process.GetCurrentProcess().Id); tt.Kill();
当然,这种方法很暴力。良好的程序设计应该是,所有的线程都有条件可以结束循环以退出(包括timer)。在程序退出时触发所有线程的终止条件。
this.Close();//只是关闭当前窗体。
Application.ExitThread();//退出当前线程上的消息循环,并关闭该线程上的所有窗口。 也会失灵
Environment.Exit(0); //前面三种方法都不能很好的退出程序,此方法可以完全退出程序,这个要强制得多。
Process.GetCurrentProcess().Kill();//此方法完全奏效,绝对是完全退出。
一些操作可以关注:GC.Collect()
另:
1,将主线程设置为后台进程。方法是将主线程的isBackground = true。据说,这样在关闭主程序时后关闭主线程,并关闭所有的线程。
2,有人列出了c#程序退出的几种方法:
(1)Application.Exit()//好像只在主线程可以起作用,而且当有线程,或者是阻塞方法的情况下,很容易失灵。
(2) System.Environment.Exit(0) //无论在主线程或其它线程,都可以吧程序结束干净
(3)Application.ExitThread();
但是我发现(2)这个方法在.netFrame Work compact下是没有的我这样
最后我的解决办法是:强制退出程序进程。代码如下:
System.Diagnostics.Process tt = System.Diagnostics.Process.GetProcessById(System.Diagnostics.Process.GetCurrentProcess().Id); tt.Kill();
当然,这种方法很暴力。良好的程序设计应该是,所有的线程都有条件可以结束循环以退出(包括timer)。在程序退出时触发所有线程的终止条件。
相关文章推荐
- C#开发的应用程序做退出程序的代码
- c#开发的应用程序做退出程序的代码
- 有简易通用权限管理后台的快速C# ASP.NET开发的例子应用程序卖给了曾长期开发JAVA银行程序的大哥
- C#程序开发中经常遇到的10条实用的代码
- C#程序开发中经常遇到的10条实用的代码
- C#程序开发中经常遇到的10条实用的代码
- C#程序开发中经常遇到的10条实用的代码
- iOS开发-使用代码退出应用程序,带动画。
- IOS开发退出应用程序的代码
- C#程序开发中经常遇到的10条实用的代码
- (转)C#程序开发中经常遇到的10条实用的代码
- 在AE二次开发中出“正试图在 OS 加载程序锁内执行托管代码。不要尝试在 DllMain 或映像初始化函数内运行托管代码,这样做会导致应用程序挂起。”异常解决方案
- C#程序开发中经常遇到的10条实用的代码
- C#程序开发中经常遇到的10条实用的代码
- 有简易通用权限管理后台的快速C# ASP.NET开发的例子应用程序卖给了曾长期开发JAVA银行程序的大哥
- 编写高质量代码改善C#程序的157个建议——建议156:利用特性为应用程序提供多个版本
- C#程序开发中经常遇到的10条实用的代码
- C#开发WinForm窗体程序时,如何在子窗体中关闭窗口时并退出程序?
- 有简易通用权限管理后台的快速C# ASP.NET开发的例子应用程序卖给了曾长期开发JAVA银行程序的大哥
- 在用C#进行SuperMap程序开发中,遇到一段不懂得代码