Compartir a través de


ContentControlBase.Validating (Evento) (2007 System)

Actualización: noviembre 2007

Se produce cuando se valida el contenido del control de contenido.

Espacio de nombres:  Microsoft.Office.Tools.Word
Ensamblado:  Microsoft.Office.Tools.Word.v9.0 (en Microsoft.Office.Tools.Word.v9.0.dll)

Sintaxis

Public Event Validating As CancelEventHandler

Dim instance As ContentControlBase
Dim handler As CancelEventHandler

AddHandler instance.Validating, handler
public event CancelEventHandler Validating

Comentarios

El evento Validating se produce cuando el control pierde el foco. Controle el evento Validating para determinar si el texto del control de contenido es válido, según los criterios que decida. Por ejemplo, si tiene un control de contenido con un número de teléfono, puede comprobar que contiene sólo los caracteres correctos (números, paréntesis, guiones, etc.). Si el contenido no es válido, puede cancelar el evento y devolver el foco al control; para ello, establezca la propiedad Cancel del parámetro CancelEventArgs del controlador de eventos en true. En la práctica, el usuario no puede abandonar el control hasta que los datos son válidos.

Para ejecutar el código una vez que el control de contenido se ha validado correctamente, controle el evento Validated.

Para obtener más información acerca del control de eventos, vea Utilizar eventos.

Ejemplos

En el siguiente ejemplo de código se muestran los controladores de eventos para los eventos Validating y Validated. Después de que el usuario final cambie el texto del control de contenido, el controlador de eventos del evento Validating utiliza una expresión regular para comprobar que el texto no contenga enteros.

En este ejemplo se supone que el documento actual contiene un PlainTextContentControl denominado plainTextContentControl1. Para usar este código, péguelo en la clase ThisDocument del proyecto. En C#, además debe asociar los controladores de eventos a los eventos Validated y Validating de plainTextContentControl1.

Se trata de un ejemplo para una personalización en el nivel del 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.");
}

Permisos

Vea también

Referencia

ContentControlBase (Clase)

ContentControlBase (Miembros)

Microsoft.Office.Tools.Word (Espacio de nombres)