как перезапустить форму c

Как перезагрузить форму в С# при нажатии кнопки в другой форме?

Я попытался использовать

Я знаю, что этот код настолько забавный, но он не работает. : D

РЕДАКТИРОВАТЬ

Пожалуйста, посмотрите этот образ моей программы для лучшего понимания. Это мой frmMain как перезапустить форму c. Смотреть фото как перезапустить форму c. Смотреть картинку как перезапустить форму c. Картинка про как перезапустить форму c. Фото как перезапустить форму c

как перезапустить форму c. Смотреть фото как перезапустить форму c. Смотреть картинку как перезапустить форму c. Картинка про как перезапустить форму c. Фото как перезапустить форму c

Обновление. Поскольку вы изменили свой вопрос, вот обновленная версия для обновления ваших продуктов.

Это ваша продукция:

Ему понадобится основная форма в конструкторе для передачи данных к нему.

Затем вы можете вызывать UpdateForm() всюду по вашей форме, например, другую кнопку. В этом примере для хранения ваших продуктов используется только локальная переменная. Также есть некоторые проверки для добавления продукта, но я думаю, вы поняли, что…

Нет такого встроенного метода, чтобы установить все ваши значения по вашему желанию. Как я упоминал в комментарии, что вы должны создать метод с необходимыми настройками всех элементов управления, вот пример кода:

вы хотите аннулировать форму

Попробуйте этот код.

ЕСЛИ вы хотите обновить страницу из usercontrol. Здесь вы найдете примеры, в которых я amrefreshing form from usercontrol. Найдите форму, в которой эта кнопка перезагрузки. Затем вызовите Invalidify tab tab и обновите его.

Я думаю, что, вызывая frmMain_load(sender,e) когда вы нажимаете кнопку, необходимо перезагрузить форму.

Вы также можете попробовать Invalidate() форму, как сказал @Nahum.

Источник

Перезапуск формы

Перезапуск формы
Здравствуйте, у меня есть код в C# нужно что бы при нажатие на определённую кнопку приложение.

как перезапустить форму c. Смотреть фото как перезапустить форму c. Смотреть картинку как перезапустить форму c. Картинка про как перезапустить форму c. Фото как перезапустить форму cПерезапуск программы
Уважаемые форумчане, прошу простить меня за не грамотность(только начал изучать языки.

Перезапуск программы
Добрый день! Помогите, пожалуйста. Можно ли сделать так, чтобы при нажатии на кнопку программа.

Тема кривая т.к. случайно запостил и потом не успел в течении 5 минут исправить, поэтому вот полный вопрос темы

В общем есть две формы

Перезапуск рабочей области
Имеется вот такая форма (полный код приложен в архиве), я только пару дней работаю с графическими.

как перезапустить форму c. Смотреть фото как перезапустить форму c. Смотреть картинку как перезапустить форму c. Картинка про как перезапустить форму c. Фото как перезапустить форму cПерезапуск/Выключение и т.д с компом!
Здравствуйте.Кто может помочь сделать следующее: Выключить или перезапустить комп с помощью среды.

Не срабатывает перезапуск программы
Application.Restat(); Срабатывает не всегда, при одних и тех же условиях. В программе стоит.

как перезапустить форму c. Смотреть фото как перезапустить форму c. Смотреть картинку как перезапустить форму c. Картинка про как перезапустить форму c. Фото как перезапустить форму cКак из программы осуществить ее перезапуск
Здравствуйте! Скажите, пожалуйста, можно ли как-нибудь сделать перезапуск своей программы из нее.

Источник

Как перезапустить приложение c# WinForm?

вышеуказанный метод имеет оказалось ненадежным.

Как лучше перезапустить приложение?

20 ответов

к сожалению, вы не можете использовать Process.Метод start() для запуска экземпляра процесса. Согласно процессу.Start () docs: «Если процесс уже запущен, дополнительный ресурс процесса не запускается. «

этот метод будет отлично работать под отладчиком VS (потому что VS делает какую-то магию, которая вызывает процесс.Начните думать, что процесс еще не запущен), но произойдет сбой, если он не будет запущен под отладчиком. (Обратите внимание, что это может быть OS-specific-I кажется, помните, что в некоторых моих тестах он работал либо на XP, либо на Vista, но я могу просто вспомнить его запуск под отладчиком.)

этот метод именно тот, который использовался последним программистом в проекте, над которым я сейчас работаю, и я пытался найти обходной путь для этого в течение некоторого времени. До сих пор я нашел только одно решение, и оно просто кажется мне грязным и kludgy: запустите 2-е приложение, которое ждет в фоновом режиме для первого приложения чтобы завершить, затем повторно запускает 1-е приложение. Я уверен, что это сработает, но, тьфу.

Edit: использование 2-го приложения работает. Все, что я сделал во втором приложении было:

(Это очень упрощенный пример. Реальный код имеет много проверки здравомыслия, обработки ошибок и т. д.)

Если вы находитесь в основной форме приложения, попробуйте использовать

гораздо более простой подход, который работал для меня:

это сохраняет аргументы командной строки и работает, несмотря на обработчики событий, которые обычно предотвращают закрытие приложения.

вызов Restart () пытается выйти, запускает новый экземпляр в любом случае и возвращает. Затем вызов Exit () завершает процесс, не давая возможности запустить обработчикам событий. Существует очень короткий период, в течение которого оба процесса работают, что не является проблемой в мое дело, но, возможно, в других случаях.

код выхода 0 в Environment.Exit(0); указывает чистое завершение работы. Вы также можете выйти с 1, чтобы указать произошла ошибка.

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

то, что я делаю, это запуск нового процесса с processId старого процесса (тот, который запускает перезапуск) в качестве аргумента строки cmd:

затем, когда новое приложение запускается, я сначала анализирую линии CM args и проверяю, есть ли флаг перезапуска с processId, затем дождитесь выхода этого процесса:

Я, очевидно,не показываю все проверки безопасности, которые у меня есть на месте и т. д.

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

Метод Запуска / Выхода

Это, кажется, работает лучше, чем приложение.Restart();

Источник

Как перезапустить приложение С# WinForm?

Разработка приложения WinForm С#.NET 2.0. Необходимо, чтобы приложение закрывалось и перезапускалось.

Каков лучший способ перезапустить приложение?

ОТВЕТЫ

Ответ 1

К сожалению, вы не можете использовать Process.Start() для запуска экземпляра текущего процесса. В соответствии с документами Process.Start(): «Если процесс уже запущен, никакой ресурс процесса не запускается. «

Этот метод точно такой, который используется последним программистом в проекте, над которым я сейчас работаю, и я пытался найти обходное решение для этого в течение довольно долгого времени. До сих пор я нашел только одно решение, и он просто чувствует себя грязным и глупым для меня: запустите второе приложение, которое ждет в фоновом режиме для первого приложения, которое завершает работу, а затем перезапускает первое приложение. Я уверен, что это сработает, но, yuck.

Изменить: работает 2-я прикладная программа. Все, что я сделал во втором приложении:

(Это очень упрощенный пример. Реальный код имеет множество проверок работоспособности, обработки ошибок и т.д.)

Ответ 2

Если вы находитесь в основной форме приложения, попробуйте использовать

Ответ 3

Более простой подход, который работал у меня, это:

Это сохраняет аргументы командной строки и работает, несмотря на обработчики событий, которые обычно предотвращают закрытие приложения.

Вызов Restart() пытается выйти, все равно запускает новый экземпляр и возвращается. Затем вызов Exit() завершает процесс, не давая возможности обработчикам событий. Очень короткий период, в котором работают оба процесса, что не является проблемой в моем случае, но, возможно, в других случаях.

Код завершения 0 в Environment.Exit(0); указывает на чистое завершение работы. Вы также можете выйти с 1 для указания произошедшей ошибки.

Ответ 4

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

Ответ 5

Затем, когда запускается новое приложение, я сначала разбираю аргументы cm line и проверяю, есть ли флаг перезапуска с processId, а затем дождаться завершения этого процесса:

Я, очевидно, не показываю все проверки безопасности, которые у меня есть, и т.д.

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

Ответ 6

Ответ 7

Метод запуска/выхода

Это работает лучше, чем Application.Restart();

Ответ 8

Попробуйте этот код:

Этот код также должен быть в функции:

Ответ 9

Я понял другое решение, возможно, кто-то может его использовать.

Кодекс упрощен, поэтому позаботьтесь об исключениях и прочее;)

Ответ 10

Вы забываете параметры/параметры командной строки, которые были переданы вашему текущему запущенному экземпляру. Если вы не проходите мимо, вы не выполняете реальный перезапуск. Задайте параметры Process.StartInfo с параметрами клона вашего процесса, затем запустите.

Ответ 11

Вы также можете использовать Restarter.

Ответ 12

Я хотел, чтобы новое приложение запускалось после того, как старый отключился.

Использование process.WaitForExit() для ожидания выключения вашего собственного процесса не имеет смысла. Он всегда будет тайм-аут.

Итак, мой подход заключается в использовании Application.Exit(), затем подождите, но разрешите обработку событий в течение определенного периода времени. Затем запустите новое приложение с теми же аргументами, что и старые.

Ответ 13

Application.ExecutablePath возвращает ваш путь к файлу aplication.exe Пожалуйста, следуйте порядку звонков. Возможно, вы захотите разместить его в предложении try-catch.

Ответ 14

Последовательность Start New Instance- > Close Current Instance должна работать даже для приложений, которые не позволяют запускать несколько копий одновременно, так как в этом случае новому экземпляру может быть передан аргумент командной строки, который указывает, что существует перезагрузка выполняется, поэтому проверка других запущенных экземпляров не требуется. Ожидание того, что первый экземпляр действительно завершит мою реализацию, тоже необходимо, если абсолютно необходимо, чтобы не было двух параллельных операций.

Ответ 15

Я боюсь, что перезапуск всего приложения с помощью Process неправильно подходит к вашей проблеме.

Ответ 16

У меня была аналогичная проблема, но моя была связана с неуправляемой утечкой памяти, которую я не мог найти в приложении, которое должно работать 24/7. С клиентом я согласился с тем, что безопасное время для перезапуска приложения было 03:00, если потребление памяти превысило определенное значение.

Restarter.exe вступает в действие. Он TRIES читает файл в эксклюзивном режиме, не позволяя ему получить доступ до тех пор, пока основное приложение не будет мертвым, затем запустит основное приложение, удалит файл и будет существовать. Я предполагаю, что это не может быть проще:

Ответ 17

Как создать файл bat, запустить пакетный файл перед закрытием, а затем закрыть текущий экземпляр.

Пакетный файл делает это:

Ответ 18

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

Ответ 19

для использования в качестве выхода из системы вы должны прекратить все приложения из Ram Cache так что сначала закройте приложение, а затем повторите его.

//при нажатии кнопки выхода

Ответ 20

И это работает хорошо. В моем случае MATLAB и приложение С# используют одну и ту же базу данных SQLite. Если MATLAB использует базу данных, Form-App должен снова перезапустить (+ обратный отсчет), пока MATLAB reset не будет занят бит в базе данных. (Только для дополнительной информации)

Ответ 21

Вы можете заключить свой код в функцию, а при необходимости перезапуска вы можете просто вызвать функцию.

Источник

Перезапуск приложения

Перезапуск формы
Здравствуйте, у меня есть код в C# нужно что бы при нажатие на определённую кнопку приложение.

как перезапустить форму c. Смотреть фото как перезапустить форму c. Смотреть картинку как перезапустить форму c. Картинка про как перезапустить форму c. Фото как перезапустить форму cПерезапуск программы
Уважаемые форумчане, прошу простить меня за не грамотность(только начал изучать языки.

Перезапуск программы
Добрый день! Помогите, пожалуйста. Можно ли сделать так, чтобы при нажатии на кнопку программа.

Не ребят у меня не работает. Тупо закрывается и все. И заного не запускается.

Вообщем, на первой форме у меня авторизация.
На второй форме основной контент.
Когда вторую форму я закрываю у меня все данные записываются в реестр, и должна закрыться программа ВСЯ и Form1 и все остальные формы в том числе чтобы не висела в процессах.

А в настройках на форме 2, при нажатие на кнопку сбросить настройки такой код:

Помощь в написании контрольных, курсовых и дипломных работ здесь.

как перезапустить форму c. Смотреть фото как перезапустить форму c. Смотреть картинку как перезапустить форму c. Картинка про как перезапустить форму c. Фото как перезапустить форму cПерезапуск/Выключение и т.д с компом!
Здравствуйте.Кто может помочь сделать следующее: Выключить или перезапустить комп с помощью среды.

Перезапуск рабочей области
Имеется вот такая форма (полный код приложен в архиве), я только пару дней работаю с графическими.

Не срабатывает перезапуск программы
Application.Restat(); Срабатывает не всегда, при одних и тех же условиях. В программе стоит.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *