Partilhar via


Como: Exibir ícones de erro de validação de formulário com o componente do Windows Forms ErrorProvider

Você pode usar um Windows Forms ErrorProvider componente para exibir um ícone de erro quando o usuário insere inválido dados. Você deve ter pelo menos dois controles no formulário para guia entre eles e, portanto, chamar o código de validação.

Para exibir um ícone de erro quando o valor do controle é inválido

  1. Adicione dois controles — por exemplo, caixas de texto — a um formulário do Windows.

  2. Adicionar um ErrorProvider componente para o formulário.

  3. selecionar o primeiro controle e adicione código ao seu Validating manipulador de eventos. Em ordem para que este código seja executado corretamente, o procedimento deve estar conectado ao evento.Para obter mais informações, consulte Como: Criar manipuladores de eventos em tempo de execução para Windows Forms.

    O código a seguir testa a validade dos dados que o usuário inseriu; se os dados inválido, a SetError método é chamado. O primeiro argumento do SetError método Especifica que o controle para exibir o ícone ao lado. O segundo argumento é o texto de erro será exibido.

    Private Sub TextBox1_Validating(ByVal Sender As Object, _
       ByVal e As System.ComponentModel.CancelEventArgs) Handles _
       TextBox1.Validating
          If Not IsNumeric(TextBox1.Text) Then
             ErrorProvider1.SetError(TextBox1, "Not a numeric value.")
          Else
             ' Clear the error.
             ErrorProvider1.SetError(TextBox1, "")
          End If
    End Sub
    
    protected void textBox1_Validating (object sender,
       System.ComponentModel.CancelEventArgs e)
    {
       try
       {
          int x = Int32.Parse(textBox1.Text);
          errorProvider1.SetError(textBox1, "");
       }
       catch (Exception e)
       {
          errorProvider1.SetError(textBox1, "Not an integer value.");
       }
    }
    
    protected void textBox1_Validating(Object sender, CancelEventArgs e) 
    {
       try 
       {
          int x = Int32.Parse(textBox1.get_Text());
          errorProvider1.SetError(textBox1, "");
       }
       catch(Exception exp)
       {
          errorProvider1.SetError(textBox1, "Not an integer value.");
       }
    }
    
    private:
       System::Void textBox1_Validating(System::Object ^  sender,
          System::ComponentModel::CancelEventArgs ^  e)
       {
          try
          {
             int x = Int32::Parse(textBox1->Text);
             errorProvider1->SetError(textBox1, "");
          }
          catch (System::Exception ^ ex)
          {
             errorProvider1->SetError(textBox1, "Not an integer value.");
          }
       }
    

    (Visual C#, Visual C++) Coloque o código a seguir no construtor do formulário para registrar o manipulador de eventos.

    this.textBox1.Validating += new
    System.ComponentModel.CancelEventHandler(this.textBox1_Validating);
    
    this->textBox1->Validating += gcnew
       System::ComponentModel::CancelEventHandler
       (this, &Form1::textBox1_Validating);
    
  4. Execute o projeto.Digite dados inválidos (no exemplo, não-numéricos) no primeiro controle e, em seguida, com a guia para o segundo.Quando o ícone de erro for exibido, aponte para ele com o ponteiro do mouse para ver o texto de erro.

Consulte também

Tarefas

Como: Exibir erros em um DataSet com o componente do Windows Forms ErrorProvider

Referência

SetError

Visão geral do ErrorProvider componente (Windows Forms)