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
Adicione dois controles — por exemplo, caixas de texto — a um formulário do Windows.
Adicionar um ErrorProvider componente para o formulário.
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);
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