Red de conocimiento informático - Problemas con los teléfonos móviles - ¿Cómo utilizar el evento de validación del cuadro de texto en VB?

¿Cómo utilizar el evento de validación del cuadro de texto en VB?

Evento de validación

Ocurre antes de que el foco se transfiera a un (segundo) control cuando el valor de la propiedad CausesValidation del control se establece en Verdadero.

Sintaxis

Subobjeto privado_Validate(KeepFocus As Boolean)

Evento de validación, ejemplo de propiedad CausesValidation

Este ejemplo utiliza tres controles para demostrar el uso del evento Validate y la propiedad CausesValidation. De forma predeterminada, la propiedad CausesValidation de ambos controles TextBox está establecida en True, de modo que cuando desee cambiar el foco de un TextBox a otro, se produzca el evento Validate. Si Texto1 no contiene una fecha o Texto2 no contiene un número mayor que 10, se bloqueará la transición de enfoque. Debido a que la propiedad CausesValidation del control Command1 está establecida en False, puede hacer clic en el botón Ayuda cuando lo desee.

Para probar este ejemplo, coloque un CommandButton y dos controles TextBox en el formulario, pegue el código en la sección Declaraciones del formulario y ejecute el proyecto. Presione la tecla Tab para intentar cambiar el enfoque.

Private Sub Form_Load()

'Establece la propiedad CausesValidation del botón en False. El evento Validar no ocurre cuando el usuario

hace clic en el botón.

'Establezca la propiedad Título del botón en "Ayuda".

Con Comando1

.CausesValidation = False

.Caption = "Ayuda"

Finalizar con

Mostrar

Con Texto1 'Selecciona el texto de Texto1 y ponle foco.

.SelLength = Len(Text1.Text)

.SetFocus

Terminar con

End Sub

Private Sub Command1_Click()

'Proporciona información de ayuda al usuario cuando se hace clic en este botón.

MsgBox _

"El Texto1 debe tener una fecha." & VbCrLF & _

"El Texto2 debe ser un número menor que 10." p>

End Sub

Subtexto privado1_Validate(KeepFocus As Boolean)

'Si el valor no es una fecha, mantén el foco a menos que sea usuario

' Haga clic en Ayuda.

Si no es Fecha(Text1.Text) Entonces

KeepFocus = True

MsgBox "Por favor inserte una fecha en este campo.", , "Texto1"

End if

End Sub

Subtexto privado2_Validate(KeepFocus As Boolean)

'Si el valor es un número mayor que 10, Mantén el enfoque.

Si no es IsNumeric(Text2.Text) o Val(Text2.Text) > 10, entonces

KeepFocus = True

MsgBox _

"Por favor, inserte un número menor o igual a 10.", , "Texto2"

End If

End Sub

La sintaxis del evento Validar incluye el siguiente Sección:

Descripción de la sección

objeto Una expresión de objeto cuyo valor es un objeto en la lista "se aplica a".

KeepFocus El valor que determina si el control pierde el foco. Cuando KeepFocus se establece en True, el control mantiene el foco.

Descripción

El evento Validate y la propiedad CausesValidation trabajan juntos para evitar que un control pierda el foco hasta que se cumplan ciertos criterios.

Énfasis El evento Validar ocurre solo cuando el valor de la propiedad CausesValidation del control que está a punto de obtener el foco se establece en Verdadero.