如果用户在设置生效之前更改设置,我的项目需要重新启动。我创建了一个DialogResult提示符,询问用户是否要重新启动程序。我调用一个MessageBox,返回Yes / No,如果单击“no”,它会表现得恰到好处并且不会关闭程序。如果您选择“是”,应用程序将关闭......就是这样,不重启。我确实有一些接近验证,我读过这可能会导致问题,但我的印象是程序关闭,而不是重启?什么可能导致应用程序不重启?除了调用它之外,还有更多的方法吗?
我尝试重新启动调用方法的应用程序:
Application.Restart();
至于我是否使用线程,我并没有有意识地使用线程,因为我真的不知道这是什么意思。
答案 0 :(得分:1)
通常,当您使用此方法时,您的应用将重新启动。
这通常是例行操作,但我在您的问题中看到,当应用关闭时,您运行了一些验证逻辑。因此,我大约90%确定发生了此错误,因为其中一些验证失败了。发布验证码,有人可以帮助您调试问题。
答案 1 :(得分:0)
因此,感谢上面的链接,我在另一个线程上找到了一个建议,这是一个很好的解决方法,只需使用Application.Restart()方法。
System.Diagnostics.Process.Start(Application.ExecutablePath);
Application.Exit();
尽管我的结束验证,它仍允许我的程序非常有效地重启。 如果我做了与Application.Exit调用相关的任何结束验证,那么这可能仍然是一个问题。