Udostępnij za pośrednictwem


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

  1. Dodaj dwie kontrolki — na przykład pola tekstowe — do formularza systemu Windows.

  2. ErrorProvider Dodaj składnik do formularza.

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