Sdílet prostřednictvím


Postupy: Zobrazení ikon chyb pro ověřování formuláře pomocí komponenty Windows Forms ErrorProvider

Komponentu Windows Forms ErrorProvider můžete použít k zobrazení ikony chyby, když uživatel zadá neplatná data. Abyste mohli mezi nimi přecházet pomocí tabulátoru a tím vyvolat ověřovací kód, musíte mít ve formuláři alespoň dva ovládací prvky.

Zobrazení ikony chyby, pokud je hodnota ovládacího prvku neplatná

  1. Přidejte do formuláře Windows Form dva ovládací prvky , například textová pole.

  2. Přidejte do formuláře komponentu ErrorProvider.

  3. Vyberte první ovládací prvek a přidejte kód do obslužné rutiny události Validating. Aby se tento kód správně spustil, musí být procedura připojena k události. Další informace naleznete v tématu Postupy: Vytváření obslužných rutin událostí za běhu pro Windows Forms.

    Následující kód testuje platnost dat, která uživatel zadal; pokud jsou data neplatná, volá se metoda SetError. První argument metody SetError určuje, který ovládací prvek se má zobrazit vedle ikony. Druhým argumentem je zobrazovaný text chyby.

    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++) Do konstruktoru formuláře umístěte následující kód pro registraci obslužné rutiny události.

    this.textBox1.Validating += new
    System.ComponentModel.CancelEventHandler(this.textBox1_Validating);
    
    this->textBox1->Validating += gcnew
       System::ComponentModel::CancelEventHandler
       (this, &Form1::textBox1_Validating);
    
  4. Spusťte projekt. Do prvního ovládacího prvku zadejte neplatná data (v tomto příkladu nečíselná) a poté se pomocí tabulátoru přesuňte na druhý ovládací prvek. Když se zobrazí ikona chyby, najeďte myší na ni a zobrazte text chyby.

Viz také