Delen via


Procedure: Foutpictogrammen weergeven voor formuliervalidatie met het onderdeel Windows Forms ErrorProvider

U kunt een Windows Forms ErrorProvider-onderdeel gebruiken om een foutpictogram weer te geven wanneer de gebruiker ongeldige gegevens invoert. U moet ten minste twee besturingselementen op het formulier hebben om ertussen te kunnen tabben en zo de validatiecode aan te roepen.

Een foutpictogram weergeven wanneer de waarde van een besturingselement ongeldig is

  1. Voeg twee elementen toe aan een formulier in Windows, bijvoorbeeld tekstvakken.

  2. Voeg een ErrorProvider-onderdeel toe aan het formulier.

  3. Selecteer het eerste besturingselement en voeg code toe aan de bijbehorende Validating gebeurtenis-handler. Om deze code correct uit te voeren, moet de procedure zijn verbonden met de gebeurtenis. Voor meer informatie, zie How to: Event Handlers maken tijdens runtime voor Windows Forms.

    Met de volgende code wordt de geldigheid getest van de gegevens die de gebruiker heeft ingevoerd; als de gegevens ongeldig zijn, wordt de methode SetError aangeroepen. Het eerste argument van de methode SetError geeft aan welk besturingselement naast het pictogram moet worden weergegeven. Het tweede argument is de fouttekst die moet worden weergegeven.

    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++) Plaats de volgende code in de constructor van het formulier om de gebeurtenis-handler te registreren.

    this.textBox1.Validating += new
    System.ComponentModel.CancelEventHandler(this.textBox1_Validating);
    
    this->textBox1->Validating += gcnew
       System::ComponentModel::CancelEventHandler
       (this, &Form1::textBox1_Validating);
    
  4. Voer het project uit. Typ ongeldige gegevens (in dit voorbeeld niet-numerieke) in het eerste veld en druk vervolgens op Tab om naar het tweede veld te gaan. Wanneer het foutpictogram wordt weergegeven, wijst u het aan met de muis aanwijzer om de fouttekst weer te geven.

Zie ook