ContentControlBase.Validating (Evento)
Se produce cuando se valida el contenido del control de contenido.
Espacio de nombres: Microsoft.Office.Tools.Word
Ensamblado: Microsoft.Office.Tools.Word (en Microsoft.Office.Tools.Word.dll)
Sintaxis
'Declaración
Event Validating As CancelEventHandler
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 sobre cómo controlar 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.");
}
Seguridad de .NET Framework
- Plena confianza para el llamador inmediato. Un código de confianza parcial no puede utilizar este miembro. Para obtener más información, vea Utilizar bibliotecas de código que no es de plena confianza.