0

それ自体に添付されたメソッド全体を実行する前にボタンをクリックすると、ボタンのコンテンツ全体がリセットされます。したがって、使用する場合Application.Restart();、アプリケーションを再起動するだけで、残りは実行しません。どうすればこの問題を解決できますか? アプリケーションを再起動したい理由は、非常に多くの変数があり、それらをすべてリセットしたいからです。このリセット プロセスは、特定のボタンをクリックして実行する必要があります。ただし、そのボタンには多くの機能があり、Application.Restart();このメソッドの任意の場所でメソッドを実行します。このメソッドが実行されないようにします。したがって、基本的に、このメソッドですべての変数を再起動してから、残りを実行します(からenableButtons();)

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

2 に答える 2

1

すべての変数を 1 つのコンテナーに移動する必要があります。アプリケーションの再起動が必要なときに再初期化します。

于 2012-05-30T11:16:25.730 に答える
0

あなたは本当にこれを行うことはできません. あなたの唯一の行動は、再起動後に元に戻したい状態をディスクに保持Application.Restart()し、メソッドの最後の呼び出しであることを確認することです。

分離ストレージ内のファイルに true/false フラグを設定して、アプリの新しいインスタンスが再起動の結果として開始されることを伝えるのと同じくらい簡単かもしれません。に電話しApplication.Restart()ます。

于 2012-05-30T11:22:47.590 に答える