Instrukcje: wyświetlanie ikon błędów sprawdzania poprawności formularza za pomocą składnika ErrorProvider formularzy systemu Windows
Możesz użyć składnika ErrorProvider Windows Forms, aby wyświetlić ikonę błędu, gdy użytkownik wprowadzi nieprawidłowe dane. Aby przełączać się między kontrolkami za pomocą klawisza Tab, musisz mieć co najmniej dwie kontrolki w formularzu, co pozwala na wywołanie kodu walidacji.
Aby wyświetlić ikonę błędu, gdy wartość kontrolki jest nieprawidłowa
Dodaj dwie kontrolki — na przykład pola tekstowe — do formularza systemu Windows.
Dodaj składnik ErrorProvider do formularza.
Wybierz pierwszą kontrolkę i dodaj kod do obsługiwacza zdarzeń Validating. Aby ten kod działał prawidłowo, procedura musi być połączona ze zdarzeniem. Aby uzyskać więcej informacji, zobacz Jak: Tworzyć obsługę zdarzeń w czasie wykonywania dla Windows Forms.
Poniższy kod testuje ważność danych wprowadzonych przez użytkownika; jeśli dane są nieprawidłowe, wywoływana jest metoda SetError. Pierwszy argument metody SetError 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);
Uruchom projekt. Wpisz nieprawidłowe dane (w tym przykładzie, nieliczbowe) w pierwszej kontrolce, a następnie przejdź do drugiej. Gdy zostanie wyświetlona ikona błędu, wskaż ją wskaźnikiem myszy, aby wyświetlić tekst błędu.
Zobacz też
- SetError
ErrorProvider Component Overview (Omówienie składnika ErrorProvider) - Instrukcje: wyświetlanie błędów w elemencie DataSet za pomocą składnika ErrorProvider formularzy systemu Windows
.NET Desktop feedback