Partilhar via


Como: Feche as caixas de diálogo e reter a entrada do usuário

Você pode definir a maneira como que uma caixa de diálogo é fechada no tempo de design ou tempo de execução. Em tempo de design, você pode definir a property DialogResult para todos os controles Button numa caixa de diálogo. Em tempo de execução, você pode definir a property DialogResult portanto, você pode manipular dinamicamente as respostas do usuário.

ObservaçãoObservação

As caixas de diálogo e comandos de menu demonstradas podem ser diferentes daqueles descritos na Ajuda, dependendo das configurações ativas ou configurações de edição. Para alterar as configurações, escolha Import and Export Settings sobre o Ferramentas menu. Para obter mais informações, consulte Trabalhando com configurações.

Para definir a property DialogResult para um controle em tempo de design

  1. Clique no controle Button para o qual você deseja definir a property.

  2. Na janela Properties,selecione a property DialogResult e abra a lista das configurações de propriedades disponíveis.

  3. Selecione a caixa de diálogo com o resultado apropriado.

    Você pode definir a caixa de diálogoo com o resultado de ações executadas pelo usuário diferente clicando em um controle Button. Se sua caixa de diálogo não contém botões para fechar a caixa de diálogo, você pode definir o resultado da caixa de diálogo em tempo de execução.

Para definir a propriedade DialogResult para um controle ou formulário programáticamente

  1. Navegue para o manipulador de eventos ou método que você deseja definir a property DialogResult.

  2. Autor do código semelhante ao exemplo de código a seguir.

    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;
       }
    

    Embora a configuração da property DialogResult fará com que a caixa de diálogo feche automaticamente, você ainda pode manipular o controle de evento Click e a caixa de diálogo será fechada depois que o manipulador de eventos do código for concluído. Ao manipular o evento Click, convém interromper o fechamento da caixa de diálogo.

  • Na manipulador de eventos, o autor do código é semelhante ao exemplo de código a seguir.

    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;
       }
    
    ObservaçãoObservação

    Você também pode usar o evento Closing do formulário para interromper o fechamento de um caixa de diálogo.

Consulte também

Tarefas

Como: Criar caixas de diálogo em tempo de Design

Como: Recuperar o resultado para caixas de diálogo

Conceitos

Entrada de Usuário em Caixas de Diálogo

Outros recursos

Caixas de Diálogo em Formulários do Windows