C#Application:Exit与ExitThread 解释】的更多相关文章

Application.Exit(); 方法停止在所有线程上运行的所有消息循环,并关闭应用程序的所有窗口 Application.ExitThread 方法 退出当前线程上的消息循环,并关闭该线程上的所有窗口. 这几天在做一个把大量Infopath生成的XML数据,进行处理的程序,我用了MDI子窗体,每个窗体包含了各自的功能,如,遍历目录及其子目录检查文件类型并自动生成Sql语句并入库.对Infopath数据的自动检查.对数据中的某些域的替换及更改处理.对数据文件的合并.拆分.剔除记录.统计数据…
本文实例总结了C#中WinForm程序退出方法技巧.分享给大家供大家参考.具体分析如下: 在c#中退出WinForm程序包括有很多方法,如:this.Close(); Application.Exit();Application.ExitThread(); System.Environment.Exit(0); 等他们各自的方法不一样,下面我们就来详细介绍一下. 1.this.Close();   只是关闭当前窗口,若不是主窗体的话,是无法退出程序的,另外若有托管线程(非主线程),也无法干净地退…
出现此情况大多原因是使用了多线程编程,或者你所调用的dll使用了多线程.我们知道,一般情况下的线程执行完指定的任务之后是会关闭了的,但是如果对于一些循环类线程,或者忘记关掉的线程时,这个时候就需要我们手动将之强制关闭.用以下三个中的一个即可尝试强制关闭线程. 复制内容到剪贴板 代码: Application.ExitThread();//退出当前线程上的消息循环,并关闭该线程上的所有窗口.    复制内容到剪贴板 代码: System.Environment.Exit(0);//终止当前进程并为…
转自:http://bbs.51cto.com/thread-970057-1.html 出现此情况大多原因是使用了多线程编程,或者你所调用的dll使用了多线程.  我们知道,一般情况下的线程执行完指定的任务之后是会关闭了的,但是如果对于一些循环类线程,或者忘记关掉的线程时,这个时候就需要我们手动将之强制关闭.  用以下三个中的一个即可尝试强制关闭线程. 复制内容到剪贴板 代码: Application.ExitThread();//退出当前线程上的消息循环,并关闭该线程上的所有窗口.   复制…
Application.Exit和Environment.Exit(0)有什么退出方面的区别吗? Application.Exit:通知winform消息循环退出.会在所有前台线程退出后,退出应用 强行退出方式,就像 Win32 的 PostQuitMessage().它意味着放弃所有消息泵,展开调用堆栈,并将执行返回给系统 方法停止在所有线程上运行的所有消息循环,并关闭应用程序的所有窗口 Environment.Exit:立即终止当前进程,应用程序即强制退出.返回exitcode给操作系统,…
close关闭窗体,对象仍然存在,调用Close函数释放资源后可能还需要再次使用. dispose,销毁对象,窗体对象被回收了,也就是不存在了,Dispose函数释放的资源不再使用. application.exit.整个程序进程结束,项目中的所有对象都会被销毁,退出整个应用程序.DevExpress 控件 注:在MDI情况下会有所不同.在这种情况下,您需要手动调用Dispose,将窗体的所有控件都标记为进行垃圾回收. Close,Dispose对于单个窗体,最终还是调用Exit退出. Clos…
Application.Exit会在所有前台线程退出后,退出应用, Environment.Exit则立即终止进程,相比之下Environment.Exit更狠些 private static void ReStart()         {             Application.Exit();             System.Diagnostics.Process.Start(Application.ExecutablePath);         }…
Application.Exit:通知winform消息循环退出.程序会等待所有的前台线程终止后才能真正退出.是一种强行退出方式,就像 Win32 的 PostQuitMessage().它意味着放弃所有消息泵,展开调用堆栈,并将执行返回给系统 方法停止在所有线程上运行的所有消息循环,并关闭应用程序的所有窗口 解决方法:1. 背景线程为避免因为线程造成程序无法退出,可以将线程设置为后台线程(IsBackground = true).当然,这样一来,你需要自行处理后台线程的数据操作安全. Envi…
Application.Exit():通知所有消息泵必须终止,并且在处理了消息以后关闭所有应用程序窗口(先停止线程(前台线程执行完毕,后台线程自动结束),然后终止进程) Environment.Exit(0):终止此进程,并将退出代码返回到操作系统(直接终结进程,不会等待线程) Application.Restart():关闭应用程序并立即启动一个新实例 Application.Run():在当前线程上开始运行标准应用程序消息循环 System.Diagnostics.Process.GetCu…
首先明确this.Hide()和this.Visible作用完全一样,都是隐藏当前窗体,使其不可见:Application.Exit与this.Close()虽然都有关闭当前应用的作用,但作用不同. (1)this.Hide()与this.Visible 对于.net平台窗体开发,当由代码 Form f=new Form();f.show()创建窗体时,需要隐藏当前窗体,我们第一想到的就是this.Close():然而这样是关闭当前进程,相当于 Application.Exit():正确的处理方…