Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 19.12.2012
Сообщений: 33
1

Двойное срабатывание кода при перезагрузке приложения в событии закрытия формы

19.12.2012, 22:07. Показов 897. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
C#
1
2
3
4
5
private void activity_FormClosing(object sender, FormClosingEventArgs e)
        {
            if (MessageBox.Show("Для принятия изменений необходимо перезагрузить программу! Хотите это сделать сейчас?", "Принятие изменений", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.OK)
                Application.Restart();
        }
Подскажите пожалуйста что я не так делаю? Это все написано не в главной форме. Должно ведь полностью закрыться приложение и запуститься заново?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.12.2012, 22:07
Ответы с готовыми решениями:

Не происходит срабатывание декоратора при событии
Всем здравствуйте! Изучаю Bot API Telegram, возникла проблема при написании бота. Использует...

Ошибка в событии закрытия формы или еще где-то
есть событие закрытия формы private void _view_FormClosed(object sender, EventArgs e) ...

Как реализовать срабатывание Callback функции при событии?
Совсем запутался. Вот есть у меня callback функция предположим. Она принимает своим параметром...

Как можно переходить в конструктор не выполняя код в событии закрытия формы?
У меня вылетает ошибка 2046. Но я понимаю почему вылетает такое сообщение. Я не знаю что делать....

5
Почетный модератор
21400 / 9134 / 1083
Регистрация: 11.04.2010
Сообщений: 11,014
20.12.2012, 06:58 2
Oskar92, у Вас при рестарте снова вызывается закрытие формы, не так ли?

Так что этот MessageBox поместите в другое событие.
0
0 / 0 / 0
Регистрация: 19.12.2012
Сообщений: 33
20.12.2012, 10:51  [ТС] 3
я думал эта команда вызывает полностью перезапуск приложения а не окна
0
179 / 179 / 32
Регистрация: 23.11.2012
Сообщений: 344
Записей в блоге: 1
20.12.2012, 11:49 4
Да, но окно ведь закрывается.

Первый раз форма закрывается, когда вы нажимаете на крестик или кнопку "Выход", если она у вас есть.
При этом вызывается метод Application.Restart и снова происходит закрытие формы, поэтому два раза.

Судя по логике, принятие изменений необходимо после какого-то действия, надо добавить указанный код после выполнения этого действия.
0
Почетный модератор
21400 / 9134 / 1083
Регистрация: 11.04.2010
Сообщений: 11,014
20.12.2012, 11:58 5
Doomer3D прав.


Oskar92, смотрите пошаговое выполнение кода и все станет понятно
0
0 / 0 / 0
Регистрация: 19.12.2012
Сообщений: 33
20.12.2012, 12:00  [ТС] 6
куда его лучше поместить?
0
20.12.2012, 12:00
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.12.2012, 12:00
Помогаю со студенческими работами здесь

Зависание при выключении/перезагрузке/закрытия крышки ноутбука
В общем, проблема в том, что когда я пытаюсь выключить, или перезагрузить, или просто закрываю...

Автоматическое срабатывание кода после отображения формы
Я запускаю первую форму и нажимаю кнопку со следующим кодом: private void...

Двойное срабатывание по клику на PictureBox
Есть PictureBox в виде мишени,я написал что то типа тира,вот код подсчета очков if (e.X > 0 && e.X...

двойное срабатывание события click
доброго времени суток, товарищи, подскажите в чем чудеса? собственно имеется вот такая конструкция...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru