Como: Exibir ícones de erro para validação de formulário com o componente Windows Forms ErrorProvider
Você pode usar um componente do Windows Forms ErrorProvider para exibir um ícone de erro quando o usuário insere dados inválidos. Você deve ter pelo menos dois controles no formulário para alternar entre eles e, assim, invocar o código de validação.
Para exibir um ícone de erro quando o valor de um controle é inválido
Adicione dois controles — por exemplo, caixas de texto — a um Windows Form.
Adicione um componente ErrorProvider ao formulário.
Selecione o primeiro controle e adicione código ao seu manipulador de eventos Validating. Para que esse 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 inseridos pelo usuário; Se os dados forem inválidos, o método SetError será chamado. O primeiro argumento do método SetError especifica qual controle exibir o ícone ao lado. O segundo argumento é o texto de erro a 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 ex) { 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);
Execute o projeto. Digite dados inválidos (neste exemplo, não numéricos) no primeiro controle e, em seguida, pressione Tab para o segundo. Quando o ícone de erro for exibido, aponte para ele com o ponteiro do mouse para ver o texto do erro.
Ver também
- SetError
- Visão geral do componente ErrorProvider
- Como: Exibir erros dentro de um DataSet com o componente Windows Forms ErrorProvider
.NET Desktop feedback