Application.Exit();//好像只在主线程可以起作用,而且当有线程,或是阻塞方法的情况下,很容易失灵
this.Close();//只是关闭当前窗体。
Application.ExitThread();//退出当前线程上的消息循环,并关闭该线程上的所有窗口。 也会失灵
Environment.Exit(0); //前面三种方法都不能很好的退出程序,此方法可以完全退出程序,这个要强制得多。
Process.GetCurrentProcess().Kill();//此方法完全奏效,绝对是完全退出。
说明:前四种方法在关闭时,没有使用析构函数中的函数,否则会报“Pure Virtual Function Call”,为了避免这个错误,使用不应该调用析构函数中的函数,调用函数在这个对象中没有实现的功能。
但最后一种方法,能够完全退出(包含各种线程)
出处:https://www.cnblogs.com/feiyuhuo/p/5235663.html