C#中WinForm程序退出方法技巧总结

2019-12-26 11:17:14丽君

  
或者把它放到事件里:
复制代码 while (MessageBox.Show("退出当前窗体?", "", MessageBoxButtons.YesNo) 
   ==   DialogResult.No)
...{
   for(int j=1; j<=i; j++) 
  ...{
      listBox1.Items.Add(j);
   }   
}
System.Environment.Exit(System.Environment.ExitCode);
 
还有一种方法:

 

 

复制代码 System.Threading.Thread.CurrentThread.Abort();
或者 复制代码 Process.GetCurrentProcess().Kill()
或者 复制代码 Application.ExitThread();
或者 复制代码 Application.ExitThread()
不过以上方法,都是强制直接退出了整个程序,不只是关闭子窗体。可能还会引发某些问题。

 

我感觉最好方法的就是,在子窗体的Closing事件中,写循环退出条件,这样就可以避免某些未知的错误,而且可以只关闭子窗体,并释放子窗体占用的资源。
Application.Exit(); 方法停止在所有线程上运行的所有消息循环,并关闭应用程序的所有窗口。
Application.Exit 是一种强行退出方式,就像 Win32 的 PostQuitMessage()。它意味着放弃所有消息泵,展开调用堆栈,并将执行返回给系统。

希望本文所述对大家的C#程序设计有所帮助。