Porady: wyświetlanie ikon błędów dotyczących weryfikacji formularza za pomocą składnika ErrorProvider formularzy systemu Windows
Możesz użyć składnika Windows Forms ErrorProvider , aby wyświetlić ikonę błędu, gdy użytkownik wprowadzi nieprawidłowe dane. Aby utworzyć kartę między nimi, musisz mieć co najmniej dwie kontrolki w formularzu, a tym samym wywołać kod weryfikacji.
Aby wyświetlić ikonę błędu, gdy wartość kontrolki jest nieprawidłowa
Dodaj dwie kontrolki — na przykład pola tekstowe — do formularza systemu Windows.
ErrorProvider Dodaj składnik do formularza.
Wybierz pierwszą kontrolkę i dodaj kod do procedury Validating obsługi zdarzeń. Aby ten kod działał prawidłowo, procedura musi być połączona ze zdarzeniem. Aby uzyskać więcej informacji, zobacz How to: Create Event Handlers at Run Time for Windows Forms (Instrukcje: tworzenie procedur obsługi zdarzeń w czasie wykonywania formularzy systemu Windows).
Poniższy kod testuje ważność danych wprowadzonych przez użytkownika; jeśli dane są nieprawidłowe, wywoływana SetError jest metoda . Pierwszy argument SetError metody określa, która kontrolka ma wyświetlać ikonę obok. Drugi argument to tekst błędu do wyświetlenia.
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++) Umieść następujący kod w konstruktorze formularza, aby zarejestrować procedurę obsługi zdarzeń.
this.textBox1.Validating += new System.ComponentModel.CancelEventHandler(this.textBox1_Validating);
this->textBox1->Validating += gcnew System::ComponentModel::CancelEventHandler (this, &Form1::textBox1_Validating);
Uruchamianie projektu. Wpisz nieprawidłowe (w tym przykładzie dane nieliczbowe) w pierwszej kontrolce, a następnie kartę na drugą. Gdy zostanie wyświetlona ikona błędu, wskaż ją wskaźnikiem myszy, aby wyświetlić tekst błędu.
Zobacz też
.NET Desktop feedback