Partager via


Guide pratique pour afficher les icônes d’erreur pour la validation de formulaire avec le composant ErrorProvider Windows Forms

Vous pouvez utiliser un composant windows Forms ErrorProvider pour afficher une icône d’erreur lorsque l’utilisateur entre des données non valides. Vous devez disposer d’au moins deux contrôles sur le formulaire pour pouvoir naviguer entre eux et ainsi appeler le code de validation.

Pour afficher une icône d’erreur lorsque la valeur d’un contrôle n’est pas valide

  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 correctement, la procédure doit être connectée à l’événement. Pour plus d'informations, consultez Comment : créer des gestionnaires d'événements à l'exécution pour les formulaires Windows.

    Le code suivant teste la validité des données entrées par l’utilisateur ; si les données ne sont pas valides, la méthode SetError est appelée. Le premier argument de la méthode SetError spécifie le contrôle à afficher en regard de l’icône. 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.");  
       }  
    }  
    
    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 non valides (dans cet exemple, non numériques) dans le premier champ, puis passez au second. Lorsque l’icône d’erreur s’affiche, pointez dessus avec le pointeur de la souris pour afficher le texte de l’erreur.

Voir aussi