Shell   28-12-2022, 01:17
#1
Buenas!.

Si dejan pulsada una tecla no se repite esta y no deja escribir en la caja de texto.
Hay que volver a levantar el dedo del teclado ( Rolleyes ) y volver a escribir.

Código:
Private masdeuncaracter As Boolean

Public Sub Form_Open()

  With TextBox1
    .Font = Font["Mono Noto,Bold, 24"]
  End With

End

Public Sub TextBox1_Change()

  If Len(TextBox1.Text) >= 1 Then masdeuncaracter = True

End

Public Sub TextBox1_KeyPress()

  If masdeuncaracter Then
    Stop Event
  Else
    TextBox1.Insert(Upper(Key.Text))
    Stop Event
  Endif

End

Public Sub TextBox1_KeyRelease()

  masdeuncaracter = False

End

Claro que....je, je..si compruebo la longitud de la caja de texto, en realidad después de una letra siempre deberá ser la condición a True.
Uy que tarde.... Tongue

Saludos
Última modificación: 28-12-2022, 01:19 por Shell.

"El conocimiento es la mejor inversión que se puede hacer" - Abraham Lincoln
Shordi   29-12-2022, 14:06
#2
No me entero de na...

No podemos regresar
Shell   29-12-2022, 14:40
#3
(29-12-2022, 14:06)Shordi escribió: No me entero de na...

Big Grin

Idea principal:  Escribir en un TextBox y permitir solo un carácter, que no muestre "aaaaaaa" (por ejemplo) si dejamos pulsado.
Que quede en minúscula o mayúscula da igual.

Lo que digo al final ...(si es que me cito hasta mi mismo. Espero que no se produzca una paradoja temporal).
 
Cita:Claro que....je, je..si compruebo la longitud de la caja de texto, en realidad después de una letra siempre deberá ser la condición a True.

Es que es normal, es así. La condición de la variable masdeuncaracter va cambiando de valor. Ya que al levantar el dedo de la tecla vuelve
la condición a ser falsa. Pero esto es otra historia.

Lo que realmente si se puede es ver si sobran procedimientos, optimización.

Evento Change: Comprueba que la longitud sea mayor de 1 o igual a 1.
Evento KeyPress: Si se cumple la condición, no dejes escribir más de un caracter, en caso contrario convierte el carácter a mayúscula.
Evento KeyRelease: Al dejar de pulsar una tecla, se cambia el estado de la variable masdeuncaracter a false, permitiendo volver a escribir otra vez, un solo carácter más.

Saludos

"El conocimiento es la mejor inversión que se puede hacer" - Abraham Lincoln
  
Usuarios navegando en este tema: 2 invitado(s)
Powered By MyBB, © 2002-2024 MyBB Group.
Made with by Curves UI.