Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A Windows Forms ErrorProvider összetevővel megjeleníthet egy hibaikont, amikor a felhasználó érvénytelen adatokat ír be. Az űrlapon legalább két vezérlőnek kell lennie ahhoz, hogy egymás között lapozzanak, és ezáltal meghívhassák az érvényesítési kódot.
A hibaikon megjelenítése, ha egy vezérlő értéke érvénytelen
Adjon hozzá két vezérlőt – például szövegdobozokat – egy Windows-űrlaphoz.
Adjon hozzá egy ErrorProvider összetevőt az űrlaphoz.
Válassza ki az első vezérlőt, és adjon hozzá kódot a Validating eseménykezelőhöz. Ahhoz, hogy a kód megfelelően fusson, az eljárást hozzá kell kapcsolni az eseményhez. Részletekért lásd : Hogyan hozhatunk létre eseménykezelőket futtatás során a Windows Forms-ben.
Az alábbi kód a felhasználó által megadott adatok érvényességét ellenőrzi; ha az adatok érvénytelenek, a rendszer meghívja a SetError metódust. A SetError metódus első argumentuma határozza meg, hogy melyik vezérlőelem mellett jelenjen meg az ikon. A második argumentum a megjelenítendő hibaszöveg.
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 Subprotected 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++) Helyezze a következő kódot az űrlap konstruktorjába az eseménykezelő regisztrálásához.
this.textBox1.Validating += new System.ComponentModel.CancelEventHandler(this.textBox1_Validating);this->textBox1->Validating += gcnew System::ComponentModel::CancelEventHandler (this, &Form1::textBox1_Validating);Futtassa a projektet. Írja be az érvénytelen (ebben a példában nem numerikus) adatokat az első vezérlőelembe, majd a tabulátort a másodikba. Amikor megjelenik a hibaikon, mutasson rá az egérmutatóval a hibaszöveg megjelenítéséhez.
Lásd még
.NET Desktop feedback