2011-12-28 42 views
0

如果用户在设置生效之前更改设置,我的项目需要重新启动。我创建了一个DialogResult提示,询问用户是否要重新启动程序。我调用一个MessageBox,它返回一个Yes/No,如果你点击“否”,它的行为就会适当,并且不会关闭程序。如果你选择“是”,应用程序关闭......就是这样,不重启。我确实有一些关闭的验证正在进行,我读过的内容可能会导致问题,但我的印象是程序关闭时出现问题,无法重新启动?什么可能导致应用程序无法重新启动?除了调用它之外,还有更多的方法需要我去做吗?我的Application.Restart没有完成?

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

Application.Restart(); 

至于我是否使用线程,我不自觉地使用线程,因为我真的不知道这意味着什么是诚实的。

+0

请不要在“C#”等前加上标题。为此使用标签。 – 2011-12-28 05:10:43

+0

你可以发布一些代码并更好地解释你的情况吗? – 2011-12-28 05:11:58

+0

你在使用线程吗?任何阻止方法? – Matthias 2011-12-28 05:14:57

回答

0

因此,感谢上面的链接,我发现了对不同线程的推荐,这是一个很好的解决方法,只是使用Application.Restart()方法。

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

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

1

通常,当您使用此方法时,您的应用程序将重新启动。

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