相关疑难解决方法(0)

Application.Exit()vs Application.ExitThread()vs Environment.Exit()

我想知道我应该使用哪个.关闭我的WinForm应用程序在对话模式下触发一个窗体.该表单运行一个后台工作程序,它将数据库与远程数据库同步,并在"启动表单"上显示它的进度.

我有一个像这样的方法:

private void CloseMyApp()
{
    SaveUserSettings();

    splashForm = new SplashForm();
    splashForm.ShowDialog();

    Application.ExitThread();
    //Application.Exit();
}
Run Code Online (Sandbox Code Playgroud)

这就是我所说的从菜单 - >退出Form_FormClosing()事件中关闭我的应用程序. Application.Exit()给出以下错误 - >

收集被修改; 枚举操作可能无法执行.

现在我读到这Environment.Exit()是残酷的,意味着你的应用程序可能有问题(见这里).

Application.ExitThread() 虽然有效,但我认为它可能只是出现在工作中,因为在我不确定何时通常这样做之前我从未使用它.

.net c# multithreading exit winforms

32
推荐指数
2
解决办法
3万
查看次数

23
推荐指数
2
解决办法
3万
查看次数

标签 统计

c# ×2

.net ×1

exit ×1

java ×1

multithreading ×1

winforms ×1