0

設定が有効になる前にユーザーが設定を変更した場合、プロジェクトを再起動する必要があります。プログラムを再起動するかどうかをユーザーに尋ねる DialogResult プロンプトを作成しました。はい/いいえを返すメッセージボックスを呼び出します。「いいえ」をクリックすると、適切に動作し、プログラムを閉じません。「はい」を選択すると、アプリケーションは閉じます...それだけです。再起動は必要ありません。問題を引き起こす可能性があると読んだいくつかの綿密な検証が行われていますが、再起動ではなく、プログラムの終了に問題があるという印象を受けましたか? アプリケーションが再起動しない原因は何ですか? 私がしなければならないのは、メソッドを呼び出すだけではありませんか?

メソッドを呼び出すアプリケーションを再起動しようとしました:

Application.Restart();

糸を使っているかどうかというと、正直言って糸を意識して使っているわけではないのでよくわかりません。

4

2 に答える 2

1

通常、この方法を使用すると、アプリが再起動します。

通常、これは日常的なアクションですが、アプリを閉じたときにいくつかの検証ロジックが実行されていることが質問でわかりました。したがって、これらの検証の一部が失敗したためにこのエラーが発生したことは約 90% 確信しています。検証コードを投稿すると、誰かが問題のデバッグを手伝ってくれます。

于 2011-12-28T06:02:28.207 に答える
0

上記のリンクのおかげで、 Application.Restart() メソッドを単純に使用するための優れた回避策である別のスレッドに関する推奨事項を見つけました。

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

これにより、検証を終了しても、プログラムを非常に効果的に再起動できます。Application.Exit 呼び出しに関連する終了検証を行った場合、これはおそらくまだ問題になるでしょう。

于 2011-12-29T16:07:21.910 に答える