2012-05-30 91 views
0

当我点击一个按钮,然后运行附加到它自己的整个方法,我想按钮来重置整个内容。所以,如果我使用Application.Restart();它只会重新启动应用程序,但不运行其余的。我将如何解决这个问题? 我想重新启动应用程序的原因是有很多变量,我想重置所有这些变量。 这个重置过程必须通过点击一个特定的按钮来完成。但是,该按钮具有许多功能,可以在此方法的任何位置运行Application.Restart();方法。 导致此方法无法执行。 所以基本上我想这个方法重新启动所有变量,然后运行其余的(从enableButtons();开始)如何在不退出和重新加载的情况下重新启动应用程序?

private void puzzleToolStripMenuItem_Click(object sender, EventArgs e) { 
     Application.Restart(); 
     enableButtons(); 
     puzzleDataMethod(); 
     MessageBox.Show... 
+1

请解释为何重新启动应用程序? – Reniuz

+0

更好地解释一下,“当我点击一个按钮,然后运行整个方法附加到它自己”时,你的意思是什么 – Shai

+0

@Renuiz和Shai解释了更多 –

回答

1

您应该所有的变量移动到一个容器中。 当应用程序需要重新启动时,您将重新初始化它。

+0

我不能这样做,因为这是应用程序需要根据给我的UML设计完成的。 –

+1

如果您因任何原因无法执行此操作。您应该手动重置所有变量。我确信应用程序是一个更危险的方法,然后绕过UML设计。 –

+0

为什么不建议在存在潜在缺陷或增强功能时适应设计...? –

0

你不能这样做。您的唯一行动方法是在重新启动后坚持将您想要带回的任何状态保存到磁盘中,并确保Application.Restart()是您方法中的最后一次调用。

这可能与在隔离存储中设置文件中的真/假标志一样简单,该标志告诉您的应用程序的新实例它是由于重新启动而启动的,因此它可以运行您当前正在尝试的那些命令在您致电Application.Restart()后运行。

相关问题