Megosztás a következőn keresztül:


Útmutató: Űrlapérvényesítési hibaikonok megjelenítése a Windows Forms ErrorProvider összetevővel

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

  1. Adjon hozzá két vezérlőt – például szövegdobozokat – egy Windows-űrlaphoz.

  2. Adjon hozzá egy ErrorProvider összetevőt az űrlaphoz.

  3. 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 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++) 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);
    
  4. 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