Evento ContentControlBase.Validating
Si verifica in caso di convalida del contenuto del controllo contenuto.
Spazio dei nomi: Microsoft.Office.Tools.Word
Assembly: Microsoft.Office.Tools.Word (in Microsoft.Office.Tools.Word.dll)
Sintassi
'Dichiarazione
Event Validating As CancelEventHandler
event CancelEventHandler Validating
Note
L'evento Validating viene generato quando il controllo non è più attivo. Gestire l'evento Validating per determinare la validità del testo nel controllo contenuto in base ai criteri prescelti. Se ad esempio si dispone di un controllo contenuto che include un numero di telefono, è possibile verificare che contenga soltanto i caratteri appropriati, quali numeri, parentesi, trattini e così via. Se il contenuto risulta non valido, è possibile annullare l'evento e ridare lo stato attivo al controllo impostando la proprietà Cancel del parametro CancelEventArgs del gestore eventi su true. Come conseguenza pratica, l'utente non è in grado di uscire dal controllo finché non viene immesso testo valido.
Per eseguire il codice dopo la corretta convalida del controllo contenuto, gestire l'evento Validated.
Per ulteriori informazioni sulla gestione degli eventi, vedere Utilizzo degli eventi.
Esempi
Nell'esempio di codice riportato di seguito vengono illustrati i gestori eventi per gli eventi Validating e Validated. Dopo che l'utente finale ha modificato il testo nel controllo del contenuto, nel gestore per l'evento Validating viene utilizzata un'espressione regolare per verificare che nel testo non siano contenuti numeri interi.
In questo esempio si presuppone che nel documento sia contenuto un oggetto PlainTextContentControl denominato plainTextContentControl1. Per utilizzare il codice, incollarlo nella classe ThisDocument del progetto. In C# è inoltre necessario collegare i gestori eventi agli eventi Validated e Validating di plainTextContentControl1.
Questo esempio è valido per una personalizzazione a livello di documento.
Private Sub plainTextContentControl1_Validating(ByVal sender As Object, _
ByVal e As System.ComponentModel.CancelEventArgs) _
Handles PlainTextContentControl1.Validating
Dim control As Microsoft.Office.Tools.Word.PlainTextContentControl = _
TryCast(sender, Microsoft.Office.Tools.Word.PlainTextContentControl)
If control IsNot Nothing Then
Dim regex As New System.Text.RegularExpressions.Regex("\d")
If regex.IsMatch(control.Text) Then
MessageBox.Show("Invalid name. Names cannot contain integers.")
e.Cancel = True
End If
End If
End Sub
Private Sub plainTextContentControl1_Validated(ByVal sender As Object, ByVal e As System.EventArgs) _
Handles PlainTextContentControl1.Validated
MessageBox.Show("The name is valid.")
End Sub
void plainTextContentControl1_Validating(object sender, System.ComponentModel.CancelEventArgs e)
{
Microsoft.Office.Tools.Word.PlainTextContentControl control =
sender as Microsoft.Office.Tools.Word.PlainTextContentControl;
if (control != null)
{
System.Text.RegularExpressions.Regex regex = new System.Text.RegularExpressions.Regex(@"\d");
if (regex.IsMatch(control.Text))
{
MessageBox.Show("Invalid name. Names cannot contain integers.");
e.Cancel = true;
}
}
}
void plainTextContentControl1_Validated(object sender, EventArgs e)
{
MessageBox.Show("The name is valid.");
}
Sicurezza di .NET Framework
- Attendibilità totale per il chiamante immediato. Impossibile utilizzare questo membro in codice parzialmente attendibile. Per ulteriori informazioni, vedere Utilizzo di librerie da codice parzialmente attendibile.