Поделиться через


Практическое руководство. Закрытие диалоговых окон и сохранение введенных пользователем данных

Задать способ закрытия диалогового окна можно в режиме разработки или во время выполнения. В режиме разработки можно задать свойства DialogResult для всех элементов управления Button в диалоговом окне. Во время выполнения можно установить свойство DialogResult для динамической обработки действий пользователя.

Примечание

Отображаемые диалоговые окна и команды меню могут отличаться от описанных в справке в зависимости от текущих настроек или выпуска.Чтобы изменить параметры, выберите в меню Сервис пункт Импорт и экспорт параметров.Дополнительные сведения см. в разделеРабота с параметрами.

Чтобы задать свойство DialogResult для элемента управления в режиме разработки

  1. Щелкните элемент управления Button, для которого нужно задать значение свойства.

  2. В окне Свойства выберите свойство DialogResult и откройте список доступных параметров свойства.

  3. Выберите соответствующий "результат" диалогового окна.

    Можно задать результат диалогового окна для действий, выполненных пользователем, которые отличаются от щелчка элемента управления Button. Если в диалоговом окне отсутствуют кнопки, которые служат для закрытия окна, можно задать результат диалогового окна во время выполнения.

Чтобы задать свойство DialogResult для элемента управления или формы программными средствами

  1. Перейдите к обработчику событий или к методу, для которого требуется задать значение свойства DialogResult.

  2. Создайте код, подобный коду в следующем примере.

    Public Sub InformationProcessed()
       ' This code will set the DialogResult for a form.
       Me.DialogResult = DialogResult.Yes
       ' OR
       ' This code will set the DialogResult for a button.
       Button1.DialogResult = DialogResult.No
    End Sub
    
    private void InformationProcessed() 
    {
       // This code will set the DialogResult for a form.
       DialogResult = DialogResult.Yes;
       // OR
       // This code will set the DialogResult for a button.
       button1.DialogResult = DialogResult.No;
    }
    
    private:
       void InformationProcessed()
       {
          // This code will set the DialogResult for a form.
          this->DialogResult = DialogResult::Yes;
          // OR
          // This code will set the DialogResult for a button.
          button1->DialogResult = DialogResult::No;
       }
    

    Несмотря на то, что задание значения для свойства DialogResult приведет к автоматическому закрытию диалогового окна, можно обработать событие Click элемента управления и диалоговое окно будет закрываться после завершения кода обработчика событий. При обработке события Click может потребоваться отмена закрытия диалогового окна.

Чтобы остановить закрытие диалогового окна с помощью свойства DialogResult

  • В обработчике событий создайте код, аналогичный приведенному ниже примеру.

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
       Me.DialogResult = DialogResult.None
    End Sub
    
    private void button1_Click(object sender, System.EventArgs e) 
    {
       DialogResult = DialogResult.None;
    }
    
    private:
       void button1_Click(System::Object ^ sender,
          System::EventArgs ^ e) 
       {
          this->DialogResult = DialogResult::None;
       }
    

    Примечание

    Кроме того, чтобы остановить закрытие диалогового окна можно использовать событие Closing.

См. также

Задачи

Практическое руководство. Создание диалоговых окон во время разработки.

Практическое руководство. Извлечение результата из диалогового окна

Основные понятия

Ввод пользовательских данных в диалоговых окнах

Другие ресурсы

Диалоговые окна в Windows Forms