Share via


Vorgehensweise: Anzeigen von Fehlersymbolen für die Formularvalidierung mit der ErrorProvider-Komponente in Windows Forms

Sie können mithilfe einer Windows Forms-ErrorProvider-Komponente ein Fehlersymbol anzeigen, wenn der Benutzer ungültige Daten eingibt. Sie benötigen mindestens zwei Steuerelemente im Formular, um mit der Tabulatortaste zwischen ihnen zu wechseln und so den Validierungscode aufzurufen.

So zeigen Sie ein Fehlersymbol an, wenn der Wert eines Steuerelements ungültig ist

  1. Fügen Sie einem Windows-Formular zwei Steuerelemente hinzu, zum Beispiel Textfelder.

  2. Fügen Sie eine ErrorProvider-Komponente in das Formular ein.

  3. Wählen Sie das erste Steuerelement aus, und fügen Sie Code zu seinem Validating-Ereignishandler hinzu. Damit dieser Code ordnungsgemäß ausgeführt werden kann, muss der Vorgang mit dem Ereignis verbunden sein. Weitere Informationen finden Sie unter Vorgehensweise: Erstellen von Ereignishandlern für Windows Forms zur Laufzeit.

    Mit dem folgenden Code wird die Gültigkeit der vom Benutzer eingegebenen Daten überprüft. Wenn die Daten ungültig sind, wird die Methode SetError aufgerufen. Das erste Argument der Methode SetError gibt an, neben welchem Steuerelement das Symbol angezeigt werden soll. Das zweite Argument ist der Fehlertext, der angezeigt werden soll.

    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++) Fügen Sie den folgenden Code in den Konstruktor des Formulars ein, um den Ereignishandler zu registrieren.

    this.textBox1.Validating += new  
    System.ComponentModel.CancelEventHandler(this.textBox1_Validating);  
    
    this->textBox1->Validating += gcnew  
       System::ComponentModel::CancelEventHandler  
       (this, &Form1::textBox1_Validating);  
    
  4. Führen Sie das Projekt aus. Geben Sie ungültige (in diesem Beispiel nicht numerische) Daten in das erste Steuerelement ein, und wechseln Sie dann mithilfe der Tabulatortaste zum zweiten Steuerelement. Wenn das Fehlersymbol angezeigt wird, zeigen Sie mit dem Mauszeiger auf das Symbol, um den Fehlertext anzuzeigen.

Weitere Informationen