Procedura: visualizzare le icone di errori per la convalida dei form con il componente ErrorProvider di Windows Form
È possibile usare un componente Windows Form ErrorProvider per visualizzare un'icona di errore quando l'utente immette dati non validi. È necessario disporre di almeno due controlli nel form per tabularli e quindi richiamare il codice di convalida.
Per visualizzare un'icona di errore quando il valore di un controllo non è valido
Aggiungere due controlli, ad esempio caselle di testo, a un Windows Form.
Aggiungere un ErrorProvider componente al modulo.
Selezionare il primo controllo e aggiungere codice al Validating relativo gestore eventi. Affinché questo codice venga eseguito correttamente, la routine deve essere connessa all'evento . Per altre informazioni, vedere Procedura: Creare gestori eventi in fase di esecuzione per Windows Form.
Il codice seguente verifica la validità dei dati immessi dall'utente; se i dati non sono validi, viene chiamato il SetError metodo . Il primo argomento del SetError metodo specifica il controllo a cui visualizzare l'icona accanto. 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 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++) Inserire il codice seguente nel costruttore del modulo 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);
Eseguire il progetto. Digitare dati non validi (in questo esempio, non numerici) nel primo controllo e quindi tabulazione al secondo. Quando viene visualizzata l'icona di errore, posizionarlo con il puntatore del mouse per visualizzare il testo dell'errore.
Vedi anche
.NET Desktop feedback