Vorgehensweise: Anzeigen von Fehlersymbolen für die Formularüberprüfung mit der Komponente "Windows Forms ErrorProvider"
Sie können eine Komponente von Windows Forms ErrorProvider verwenden, um ein Fehlersymbol anzuzeigen, wenn der Benutzer ungültige Daten eingibt. Sie müssen mindestens zwei Steuerelemente auf dem Formular haben, um zwischen diesen zu wechseln und damit den Überprüfungscode aufzurufen.
So zeigen Sie ein Fehlersymbol an, wenn der Wert eines Steuerelements ungültig ist
Fügen Sie zwei Steuerelemente , z. B. Textfelder, zu einem Windows Form-Formular hinzu.
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 die Prozedur mit dem Ereignis verbunden sein. Weitere Informationen finden Sie unter Erstellen von Ereignishandlern für Windows Forms zur Laufzeit.
Der folgende Code testet die Gültigkeit der daten, die der Benutzer eingegeben hat; wenn die Daten ungültig sind, wird die SetError-Methode aufgerufen. Das erste Argument der SetError-Methode gibt an, neben welchem Steuerelement das Symbol angezeigt werden soll. Das zweite Argument ist der anzuzeigende Fehlertext.
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++) Platzieren Sie den folgenden Code im Konstruktor des Formulars, 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 darauf, um den Fehlertext anzuzeigen.
Weitere Informationen
.NET Desktop feedback