Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > .NET для новичков > как уловить Application.Restart() ?


Автор: shurokan 17.5.2009, 21:36
При нажатии одной кнопки иде исполнение кода и рестарт предложения при этом вызывается инструкция MainForm_FormClosing.
Как отсечь MainForm_FormClosing или отследить Application.Restart() ?

Автор: DVariuS 18.5.2009, 09:50
shurokan, Необходимо подписаться на события FormClosing формы или ApplicationExit приложения в зависимости от поставленной задачи.

Автор: shurokan 18.5.2009, 17:42
Цитата(DVariuS @ 18.5.2009,  07:50)
shurokan, Необходимо подписаться на события FormClosing формы или ApplicationExit приложения в зависимости от поставленной задачи.

в том то и проблема, Application.Restart() вызывает для формы (основной) Closing, в которой идет запрос на выход из приложения, а мне нужно, что б Application.Restart() происходило без запроса на выход из приложения

Автор: DVariuS 18.5.2009, 17:47
shurokan, добавь поле булевского типа с именем IsRestart. Устанавливай его в true, если необходимо перезапустить приложение и проверяй в обработчике FormClosing основной формы.
Примерно так:
Код

private void Form1_FormClosing(object sender, FormClosingEventArgs e)
        {
            if (!isRestart)
            {
                //запрос на выход из приложения
            }
            else
            {
                //перезапуск приложения
            }
        }

private void restartButton_Click(object sender, EventArgs e)
        {
            isRestart = true;
            //перезапуск
        }

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)