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á
Přidejte do formuláře Windows Form dva ovládací prvky , například textová pole.
Přidejte do formuláře komponentu ErrorProvider.
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);
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é
.NET Desktop feedback