Condividi tramite


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

Vedere anche

Riferimenti

ContentControlBase Interfaccia

Spazio dei nomi Microsoft.Office.Tools.Word