Architecture Net



         

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


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

  • щелкнуть на кнопке "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++. Убедитесь в том, что она работает так же, как и программа на С#




    Содержание  Назад  Вперед