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
Fügen Sie einem Windows-Formular zwei Steuerelemente hinzu, zum Beispiel Textfelder.
Fügen Sie eine ErrorProvider-Komponente in das Formular ein.
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);
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
.NET Desktop feedback