Problema con un textbox en visual basic

Hola foreros, resulta que en una formulario que tengo, en un textbox tengo qUE ingresar un valor entre 4 y 60, coloco mi codigo asi
Código:
Private Sub TextBox5_TextChanged(sender As Object, e As EventArgs) Handles TextBox5.TextChanged
        If TextBox5.Text = Then
            TextBox5.Text = 4
        ElseIf Not IsNumeric(TextBox5.Text) Then
            MsgBox(debe ingresar un numero)
            TextBox5.Text = 4
        ElseIf ((TextBox5.Text) > 60 Or (TextBox5.Text) < 4) Then
            MsgBox(el tiempo debe estar entre 4 y 60)
            TextBox5.Text = 4
        End If
    End Sub
Pero resulta que si quiero poner el valor 30, me salta el error directamente porque estOY poniendo primero el 3, como puedo arreglar esto? ...
 
Última edición por un moderador:
No he trabajado nunca con VB pero me da que el evento TextChanged que usas se ejecuta cuando tecleas cualquier cosa en ese TextBox y tus condiciones no permiten la entrada ya que cuando pones el 3 de 30, ha cambiado, pero la propiedad Text es 3 (menor que 4 y te salta el MsgBox).

Tendrías que comprobarlo en otro evento, por ejemplo al cambiar el foco del TextBox o algo del estilo.
 
Hay formas mucho más cómodas para leer cosas del teclado. El uso del TextChanged debería usarse solo para cuando realmente necesitas un control extremo del teclado.

Si puedes, cambia el control por una entrada de texto normal.

Y si no, lo que tienes que hacer es vigilar por la entrada de la tecla Entrar. Es en ese momento en donde tienes que comprobar el valor de TextBox.Text
 
Muchas gracias por sus respuestas, veran soy nuevo en esto del manejo del VB y tuve qUE indagar sobre como hacer las 2 respuestas me sirvieron muchisimo, me alegra saber que hay gente siempre dispuesta a ayudar en este foro
 
Última edición por un moderador:
Atrás
Arriba