【发布时间】:2010-11-21 17:22:01
【问题描述】:
我正在尝试找出我应该使用哪个。在关闭我的 WinForm 应用程序时,会在对话框模式下触发表单。该表单运行一个后台工作程序,它将数据库与远程数据库同步,并在“启动表单”上显示它的进度。
我有这样的方法:
private void CloseMyApp()
{
SaveUserSettings();
splashForm = new SplashForm();
splashForm.ShowDialog();
Application.ExitThread();
//Application.Exit();
}
这是我从 Menu --> Exit 和 Form_FormClosing() 事件中关闭我的应用程序的调用。 Application.Exit() 给出以下错误 -->
集合已修改;枚举操作可能无法执行。
现在我读到Environment.Exit() 是残酷的,这意味着您的应用可能有问题(请参阅here)。
Application.ExitThread() 可以工作,但我承认它可能只是看起来可以工作,因为我从来没有使用过它,在我不确定通常何时适合这样做之前。
【问题讨论】:
标签: c# .net winforms multithreading exit