на начало
На главную страницу
Форум   

Статья :: Закрытие формы (Выход из формы)


Закрытие формы (Выход из формы)

Давайте сделаем так, что каждый раз, когда пользователь попытается закрыть приложение, приложение будет его спрашивать, действительно ли он хочет выйти Существует несколько способов закрыть окно-

  • щелкнуть на кнопке "X" (Закрыть) в правом верхнем углу окна;
  • закрыть окно из системного меню в левом верхнем углу окна,
  • закрыть окно с помощью комбинации клавиш AU+F4,
  • выйти из приложения с помощью меню FileOExit (ФайлОВыход)

Когда закрывается форма, вызывается событие Closing (Процедура завершения) Можно остановить процедуру завершения, установив в обработчике этого события свойство Cancel (Отмена). (Сначала нужно, как обычно, добавить обработчик события Closing (Процедура завершения) ) Просто напечатайте код MessageBox (Окно сообщения), приведенный ниже

protected void Forml_Closing (object sender.
System.ComponentModel.CancelEventArgs e)
{
DialogResult status = MessageBox.Show( // состояние
"Do you want to close",
// "Хотите закрыть?",
"Simple Form (VS)", MessageBoxButtons.YesNo);
if (status == DialogResult.No)
// если (состояние == DialogResult. Нет)
{
e.Cancel = true; // Отмена = истина
}
}

Для того чтобы получить нужное нам поведение приложения, обработчик меню FileOExit (ФайлОВыход) должен не выходить из приложения, а закрыть главное окно, вызвав метод С lose (Закрыть)

protected void menuExit_Click (object sender,
System.EventArgs e)
{
//Application.Exit();
// Приложение.Выход ();
Close () ;
}

Теперь проект соответствует проекту, находящемуся в папке VSForm\Step4 Запустите программу, и попытайтесь закрыть окно приложения разными способами В любом случае должно появиться диалоговое окно, показанное на рис. 6.20.

20.gif

Рис. 6.20. Диалоговое окно, которое спрашивает пользователя, действительно ли он хочет закрыть приложение

И, наконец, как обычно, перенесите код проекта, подготовленного на С#, в проект на C++ VSFormPort\Step4. Скомпонуйте и выполните программу на C++. Убедитесь в том, что она работает так же, как и программа на С#

// VSForm - Step4
_gc class Forml : public System:-.Windows :: Forms :: Form
{
private: // частный
void InitializeComponent()
{
Closing += // Закрытие
new CancelEventHandler(this, Forml_Closing) ;
}
void menuExit_Click(
Object *sender, System::EventArgs *pe)
{
//Application::Exit();
// Приложение:: Выход ()
; Close();
}
void Form1_Closing(
Object *sender, CancelEventArgs *e)
{
int status = MessageBox::Show( // состояние
"Do you want to close",
// "Хотите закрыть",
"Simple Form (VS)", // Простая Форма
MessageBoxButtons::YesNo);
if (status == DialogResult::No)
// если (состояние == DialogResult::No)
{
e->Cancel = true; // Отмена = истина
}
}
};

Все оставшиеся примеры в этой главе написаны исключительно на С#!

Далее в этой главе мы будем рассматривать только программы на С#, поскольку даже в программах, которые в основном написаны на C++, при разработке графических пользовательских интерфейсов, как правило, используется С#. Причина этого проста— в C++ не поддерживается конструктор форм (Forms Designer). Всегда помните о том, что вы можете сначала создать графический пользовательский интерфейс на С#, а потом, если понадобится, перенести этот код в C++. В предыдущих примерах мы показали, как это сделать.


Закрытие формы (Выход из формы)

страницы в данном разделе 
Глава 6. Создание графических пользовательских интерфейсов Создание графических пользовательских интерфейсов
Иерархия Windows Forms (Формы Windows) Создание простых форм с помощью комплекса инструментальных средств разработки программ .NET SDK
Шаг 0: Создание простой формы Шаг 1: Отображение текста на форме
Обработка событий в Windows Forms (Формы Windows) Документация по обработке событий
Событие MouseDown (Кнопка мыши нажата) Шаг 2: Обработка событий мыши
Шаг 2М: Несколько обработчиков для события Шаг 3: События MouseDown (Кнопка мыши нажата) и Keypress (Нажатие клавиши)
index12.html Шаг 4: Меню для выхода из программы
Код меню Код события Menu (Меню)
Управляющие элементы Шаг 5: Использование управляющего элемента TextBox (Поле)
Visual Studio.NET и формы Демонстрация Windows Forms (Формы Windows)
Окно конструктора (Design window) и окно кода (Code window) Добавление события
Код обработчика события Использование управляющего элемента Menu (Меню)
Закрытие формы (Выход из формы) Диалоговые окна
Документация по диалогам .NET Демонстрация диалогового окна
Управляющий элемент ListBox (Список элементов) Начальная загрузка списка элементов
Выбор элемента в списке элементов ListBox Пример бюро путешествий Acme (Acme Travel Agency) — шаг 3
Резюме >  


Содержание сайта (выборка)
Apache
Протоколы TCP/IP (принципы, протоколы и архитектура)



PHP, PELR, JSP
PHP
JavaServer Pages (JSP)

Базы данных
Основы mysql
СУБД INFORMIX
СУБД POSTGRES
Основы проектирования реляционных баз данных

HTML, javascript
Спецификация HTML 4.01
Каскадные Таблицы Стилей, Уровень 2
Клиентский JavaScript. Справочник.
JavaScript руководство пользователя
Серверный JavaScript 1.4. Руководство по Использованию.

Паскаль, C, C++, C#
GCC (примеры)
FAQ Валентинa Озеровa DELPHI
C



 
© faq.pp.ru, справочник программиста