我正在尝试弄清楚我应该使用哪个。当我关闭我的WinForm应用程序时,会启动一个以对话框模式显示的窗体。该窗体运行一个后台工作进程,将数据库与远程数据库同步,并在“闪屏窗体”上显示其进度。
我有一个如下的方法:
private void CloseMyApp()
{
SaveUserSettings();
splashForm = new SplashForm();
splashForm.ShowDialog();
Application.ExitThread();
//Application.Exit();
}
这是我从菜单 -> 退出以及在Form_FormClosing()
事件中关闭应用程序的方式。但是,Application.Exit()
会出现以下错误-->
集合已修改;可能无法执行枚举操作。
我现在了解到Environment.Exit()
是一种粗暴的方法,意味着您的应用程序可能存在问题(请参见此处)。
Application.ExitThread()
有效,但我担心它只是表面上起作用,因为我以前从未使用过,并不确定在何时通常适用。