Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > C/C++ Базы данных
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.04.2013, 14:00   #1
Vetash
 
Регистрация: 16.04.2013
Сообщений: 7
Сообщение Обработчик FormClosing(Выход из программы)

Представлены два обработчика для команды FormClosing, для двух окон Form1 и Form2.

При нажатии на крестик(закрытие программы) он вызывает диалоговое окно указанно в коде.. Проблема в том, что в Form2 нажимая на Yes он мгновенно вызывает повторно это окно и уже в нем.. если будет ответ Yes он закрывает программу... В Form1 такой проблемы не возникает

Что это может быть? может предложите свой код...

Цитата:
private: System::Void Form1_FormClosing(System::Object^ sender, System::Windows::Forms::FormClosing EventArgs^ e) {
if(MessageBox::Show("Вы действительно хотите выйти?","Your Application Name", MessageBoxButtons::YesNo,
MessageBoxIcon::Question)==System:: Windows::Forms::DialogResult::Yes){
Application::Exit();
}else
e->Cancel=true;

}

Цитата:
private: System::Void Form2_FormClosing(System::Object^ sender, System::Windows::Forms::FormClosing EventArgs^ e) {
if(MessageBox::Show("Вы действительно хотите выйти?","Your Application Name", MessageBoxButtons::YesNo,
MessageBoxIcon::Question)==System:: Windows::Forms::DialogResult::Yes){
Application::Exit();
}else
e->Cancel=true;


}
Vetash вне форума Ответить с цитированием
Старый 20.04.2013, 14:13   #2
Vetash
 
Регистрация: 16.04.2013
Сообщений: 7
По умолчанию

Не знаю что случилось, но теперь в Form1 запрашивает 2 раза, а в Form2 стало 3 запроса...
Vetash вне форума Ответить с цитированием
Старый 07.05.2013, 16:04   #3
MegaBEavER
 
Регистрация: 07.05.2013
Сообщений: 4
По умолчанию

Лучше переделай так, что при подходящем условии (в твоем примере если нажато NO), у тебя используется e->Cancel=true, и else тогда вообще не надо.
А если касательно возникающей проблемы - скорее всего Application::Exit() вызывает событие повторно.
MegaBEavER вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
выход из программы... Vavrenyuk Общие вопросы Delphi 10 15.11.2012 12:05
Кнопка Выход(на выход Из программы)С++ Напишите код ProGec4 Общие вопросы C/C++ 3 19.02.2012 15:36
Выход программы. ZvEr_HaCkEr Свободное общение 26 16.10.2010 21:00
Выход из программы relav_ Общие вопросы Delphi 18 15.03.2008 01:36
Выход из программы Slash Общие вопросы Delphi 8 24.03.2007 07:53