Share via


Procedura: visualizzare le icone di errori per la convalida dei form con il componente ErrorProvider di Windows Form

Aggiornamento: novembre 2007

È possibile utilizzare un componente ErrorProvider di Windows Form per visualizzare un'icona di errore quando l'utente immette dati non validi. È necessario che nel form siano presenti almeno due controlli per richiamare il codice di convalida passando da un controllo all'altro.

Per visualizzare un'icona di errore quando il valore di un controllo non è valido

  1. Aggiungere due controlli, ad esempio due caselle di testo, a un Windows Form.

  2. Aggiungere un componente ErrorProvider al form.

  3. Selezionare il primo controllo e aggiungere il codice al corrispondente gestore eventi Validating. Perché il codice venga eseguito in modo corretto, la routine deve essere collegata all'evento. Per ulteriori informazioni, vedere Procedura: creare gestori eventi in fase di esecuzione per Windows Form.

    Mediante il codice riportato di seguito viene verificata la validità dei dati immessi dall'utente; se i dati non sono validi, viene chiamato il metodo SetError. Il primo argomento del metodo SetError specifica il controllo accanto al quale visualizzare l'icona. Il secondo argomento è il testo dell'errore da visualizzare.

    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 e)
       {
          errorProvider1.SetError(textBox1, "Not an integer value.");
       }
    }
    
    protected void textBox1_Validating(Object sender, CancelEventArgs e) 
    {
       try 
       {
          int x = Int32.Parse(textBox1.get_Text());
          errorProvider1.SetError(textBox1, "");
       }
       catch(Exception exp)
       {
          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++) Inserire il codice seguente nel costruttore del form per registrare il gestore eventi.

    this.textBox1.Validating += new
    System.ComponentModel.CancelEventHandler(this.textBox1_Validating);
    
    this->textBox1->Validating += gcnew
       System::ComponentModel::CancelEventHandler
       (this, &Form1::textBox1_Validating);
    
  4. Eseguire il progetto. Digitare dati non validi, ad esempio non numerici, nel primo controllo e quindi passare al secondo. Quando viene visualizzata l'icona di errore, posizionare il mouse sull'icona per visualizzare il testo dell'errore.

Vedere anche

Attività

Procedura: visualizzare errori in un dataset tramite il componente ErrorProvider di Windows Form

Riferimenti

SetError

Cenni preliminari sul componente ErrorProvider (Windows Form)