Foros del Web » Programación para mayores de 30 ;) » .NET »

Mostrar tecla pulsada

Estas en el tema de Mostrar tecla pulsada en el foro de .NET en Foros del Web. Detectar tecla pulsada Private Sub TextBox1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TextBox1.KeyDown MsgBox(Convert.ToChar(e.KeyCode)) End Sub Hola a todos necesito una mano con ...
  #1 (permalink)  
Antiguo 20/09/2013, 19:43
 
Fecha de Ingreso: septiembre-2012
Ubicación: Cordoba
Mensajes: 44
Antigüedad: 11 años, 7 meses
Puntos: 1
Mostrar tecla pulsada

Detectar tecla pulsada
Private Sub TextBox1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs)
Handles TextBox1.KeyDown



MsgBox(Convert.ToChar(e.KeyCode))

End Sub



Hola a todos necesito una mano con esta pregunta
Resulta que yo pulso una tecla
Luego convierto el codigo de esa tecla a caracter para mostrarlo por pantall

Pero si pulso la a minuscula el msgbox me muestra la A mayuscula
los mismo con todas las letras

Como hago para que si pulso la a o la e miniscula el Msgbox me muestre la letra en minuscula y no en mayúscula
  #2 (permalink)  
Antiguo 20/09/2013, 20:50
Avatar de hmvr414  
Fecha de Ingreso: marzo-2011
Ubicación: Santiago de Cali, Colombia
Mensajes: 74
Antigüedad: 13 años, 1 mes
Puntos: 16
Respuesta: Mostrar tecla pulsada

En KeyUp y KeyDown no se obtiene el codigo del caracter pulsado sino el codigo de la tecla pulsada, estos codigos estan en la enumeracion Keys, en el caso de las letras el valor es el mismo codigo ASCII para las letras en mayusculas, para saber el caracter habria que detectar si se esta pulsando Shift y el estado del CapsLock y sumar 32 al codigo para convertir en minusculas cuando sea el caso.

Otra forma para conocer el caracter seria usar el evento Change y tomar el ultimo caracter agregado al textbox:

Código vb:
Ver original
  1. Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
  2.         If TextBox1.Text.Length > 0 Then
  3.             MsgBox(TextBox1.Text.Substring(TextBox1.Text.Length - 1, 1))
  4.         End If
  5.     End Sub
  #3 (permalink)  
Antiguo 20/09/2013, 21:26
 
Fecha de Ingreso: septiembre-2012
Ubicación: Cordoba
Mensajes: 44
Antigüedad: 11 años, 7 meses
Puntos: 1
Respuesta: Mostrar tecla pulsada

Muchas Gracias Amigo
hmvr414
Disculpa soy novato en el tema
Te agradecería un montón si puedes pasarme un código ejemplo para detectar si el capsLock esta activo y detertar de acuerdo al ASCII
Voy a intentar hacerlo
pero te pregunto porque me ayuda mucho ver códigos de otras personas
  #4 (permalink)  
Antiguo 20/09/2013, 21:48
 
Fecha de Ingreso: septiembre-2012
Ubicación: Cordoba
Mensajes: 44
Antigüedad: 11 años, 7 meses
Puntos: 1
Respuesta: Mostrar tecla pulsada

Private Sub TextBox1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TextBox1.KeyDown
If My.Computer.Keyboard.CapsLock Then
MsgBox(Chr(e.KeyValue))
Else
MsgBox(Chr(e.KeyData + 32))
End If
End Sub

Probe con los que me dijiste y me anduvo Gracias

Etiquetas: c#
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:47.