Мое приложение. Перезагрузка не завершена? - PullRequest
0 голосов
/ 28 декабря 2011

Мой проект требует перезагрузки, если пользователь изменяет настройки до того, как настройки вступят в силу.Я создал приглашение DialogResult, которое спрашивает пользователя, хотят ли они перезапустить программу.Я вызываю MessageBox, который возвращает да / нет, и если вы нажимаете «нет», он ведет себя соответствующим образом и не закрывает программу.Если вы выбираете «да», приложение закрывается ... и все, перезагрузка не происходит.У меня действительно есть некоторая тщательная проверка, которую я прочитал, может вызвать проблемы, но у меня сложилось впечатление, что были проблемы с закрытием программы, а не с перезапуском?Что может вызвать перезапуск приложения?Есть ли у метода нечто большее, чем просто вызов его, который мне нужно сделать?

Я пытаюсь перезапустить приложение, вызывающее метод:

Application.Restart();

Что касается использования потоковя сознательно не использую темы, потому что я не знаю, что это значит быть честным.

Ответы [ 2 ]

1 голос
/ 28 декабря 2011

Обычно, когда вы используете этот метод, ваше приложение перезапускается.

Обычно это обычное действие, но я видел в вашем вопросе, что у вас работает некоторая логика проверки, когда приложение закрывается.Таким образом, я на 90% уверен, что эта ошибка произошла из-за сбоя некоторых из этих проверок.Отправьте проверочный код, и кто-то может помочь вам решить проблему.

0 голосов
/ 29 декабря 2011

Так что благодаря ссылке сверху я нашел рекомендацию для другого потока, которая стала отличным решением для простого использования метода Application.Restart ().

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

Это позволяет моей программе очень эффективно перезапускаться, несмотря на мою завершающую проверку.Это, вероятно, все еще будет проблемой, если я выполню какую-либо заключительную проверку, связанную с вызовом Application.Exit.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...