Partager via


ContentControlBase.Validating, événement

Se produit lorsque le contenu du contrôle est validé.

Espace de noms :  Microsoft.Office.Tools.Word
Assembly :  Microsoft.Office.Tools.Word (dans Microsoft.Office.Tools.Word.dll)

Syntaxe

'Déclaration
Event Validating As CancelEventHandler
event CancelEventHandler Validating

Notes

L'événement Validating est déclenché lorsque le contrôle perd le focus. Gérez l'événement Validating pour déterminer si le texte dans le contrôle de contenu est valide conformément aux critères que vous choisissez. Par exemple, si vous disposez d'un contrôle de contenu qui contient un numéro de téléphone, vous pouvez vérifier qu'il contient uniquement les caractères appropriés (nombres, parenthèses, traits d'union). Si le contenu n'est pas valide, vous pouvez annuler l'événement et retourner le focus au contrôle en affectant la valeur true à la propriété Cancel du paramètre CancelEventArgs du gestionnaire d'événements. Dans la pratique, cela signifie que l'utilisateur ne peut pas quitter le contrôle tant que le texte n'est pas valide.

Pour exécuter le code après la validation du contrôle de contenu, gérez l'événement Validated.

Pour plus d'informations sur la gestion d'événements, consultez Consommation d'événements.

Exemples

L'exemple de code suivant illustre les gestionnaires des événements Validating et Validated. Après que l'utilisateur final ait modifié le texte dans le contrôle de contenu, le gestionnaire d'événements de l'événement Validating utilise une expression régulière pour vérifier que le texte ne contient pas d'entiers.

Cet exemple suppose que le document contient un PlainTextContentControl nommé plainTextContentControl1. Pour utiliser ce code, collez-le dans la classe ThisDocument de votre projet. En C#, vous devez également attacher les gestionnaires d'événements aux événements Validated et Validating de plainTextContentControl1.

Cet exemple illustre une personnalisation au niveau du document.

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.");
}

Sécurité .NET Framework

Voir aussi

Référence

ContentControlBase Interface

Microsoft.Office.Tools.Word, espace de noms