0

如果用户在设置生效之前更改设置,我的项目需要重新启动。我创建了一个 DialogResult 提示,询问用户是否要重新启动程序。我调用了一个返回是/否的 MessageBox,如果您单击“否”,它会正常运行并且不会关闭程序。如果您选择“是”,应用程序将关闭……就是这样,无需重新启动。我确实有一些我读过的密切验证可能会导致问题,但我的印象是程序关闭而不是重新启动有问题?什么可能导致应用程序无法重新启动?除了调用我需要做的事情之外,该方法还有更多内容吗?

我尝试重新启动调用该方法的应用程序:

Application.Restart();

至于我是否使用线程,我不是有意识地使用线程,因为老实说我真的不知道这意味着什么。

4

2 回答 2

1

一般来说,当你使用这种方法时,你的应用程序会重新启动。

这通常是例行操作,但我在您的问题中看到,当应用程序关闭时您正在运行一些验证逻辑。因此,我大约 90% 确定发生此错误是因为其中一些验证失败。发布验证代码,有人可以帮助您调试问题。

于 2011-12-28T06:02:28.207 回答
0

因此,多亏了上面的链接,我在另一个线程上找到了一个建议,这是一个很好的解决方法,可以简单地使用 Application.Restart() 方法。

System.Diagnostics.Process.Start(Application.ExecutablePath);
Application.Exit();

尽管我已关闭验证,但它允许我的程序非常有效地重新启动。如果我进行与 Application.Exit 调用相关的任何关闭验证,这可能仍然是一个问题。

于 2011-12-29T16:07:21.910 回答