0

当我在运行附加到自身的整个方法之前单击一个按钮时,我希望该按钮重置整个内容。因此,如果我使用Application.Restart();它只会重新启动应用程序,但不会运行其余部分。我将如何解决这个问题?我要重新启动应用程序的原因是变量太多,我想重置所有变量。此重置过程必须通过单击特定按钮来完成。但是,该按钮具有大量功能,Application.Restart();可以在此方法的任何位置运行该方法。导致此方法不执行。所以基本上我希望这个方法重新启动所有变量,然后运行其余的(从 开始enableButtons();

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

2 回答 2

1

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

于 2012-05-30T11:16:25.730 回答
0

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

它可能就像在隔离存储中的文件中设置一个真/假标志一样简单,它告诉您的应用程序的新实例它正在作为重新启动的结果启动,因此它可以运行您当前正在尝试运行的那些命令打电话给Application.Restart().

于 2012-05-30T11:22:47.590 回答