Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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

Ответ
 
Опции темы
Старый 20.04.2013, 14:00   #1
Vetash
 
Регистрация: 16.04.2013
Сообщений: 7
Репутация: 10
Сообщение Обработчик 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
Репутация: 10
По умолчанию

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

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

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
выход из программы... 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 02:36
Выход из программы Slash Общие вопросы Delphi 8 24.03.2007 08:53


06:55.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru