Comment : afficher des icônes d'erreur pour la validation de formulaire à l'aide du composant ErrorProvider Windows Forms

Le composant ErrorProvider Windows Forms vous permet d'afficher une icône d'erreur lorsque l'utilisateur entre des données incorrectes. Le formulaire doit contenir au moins deux contrôles pour que vous puissiez passer de l'un à l'autre et ainsi appeler le code de validation.

Pour afficher une icône d'erreur lorsque la valeur d'un contrôle est incorrecte

  1. Ajoutez deux contrôles, par exemple des zones de texte, à un Windows Form.

  2. Ajoutez un composant ErrorProvider au formulaire.

  3. Sélectionnez le premier contrôle et ajoutez du code à son gestionnaire d'événements Validating. Pour que ce code s'exécute sans problème, la procédure doit être connectée à l'événement. Pour plus d'informations, consultez Comment : créer des gestionnaires d'événements pour les Windows Forms au moment de l'exécution.

    Le code suivant teste la validité des données entrées par l'utilisateur ; si ces données sont incorrectes, la méthode SetError est appelée. Le premier argument de la méthode SetError spécifie le contrôle en regard duquel l'icône doit être affichée. Le deuxième argument est le texte d'erreur à afficher.

    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.");
       }
    }
    
    protected void textBox1_Validating(Object sender, CancelEventArgs e) 
    {
       try 
       {
          int x = Int32.Parse(textBox1.get_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++) Placez le code suivant dans le constructeur du formulaire pour inscrire le gestionnaire d'événements.

    this.textBox1.Validating += new
    System.ComponentModel.CancelEventHandler(this.textBox1_Validating);
    
    this->textBox1->Validating += gcnew
       System::ComponentModel::CancelEventHandler
       (this, &Form1::textBox1_Validating);
    
  4. Exécutez le projet. Tapez des données incorrectes (non numériques, dans cet exemple) dans le premier contrôle, puis utilisez la touche TABULATION pour passer au second. Lorsque l'icône d'erreur s'affiche, placez le pointeur de la souris sur cette icône pour afficher le texte d'erreur.

Voir aussi

Tâches

Comment : afficher des erreurs d'un groupe de données à l'aide du composant ErrorProvider Windows Forms

Référence

SetError

Vue d'ensemble du composant ErrorProvider (Windows Forms)