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

como utilozar el e.keychar vb2008

Estas en el tema de como utilozar el e.keychar vb2008 en el foro de .NET en Foros del Web. hola como el titulo lo dice lo que quiero hacer es lo sigguiente, tengo varias cajas de texto en la cual solo se deven ocupar ...
  #1 (permalink)  
Antiguo 23/06/2010, 14:23
 
Fecha de Ingreso: agosto-2008
Ubicación: D,F
Mensajes: 412
Antigüedad: 15 años, 8 meses
Puntos: 4
como utilozar el e.keychar vb2008

hola como el titulo lo dice lo que quiero hacer es lo sigguiente, tengo varias cajas de texto en la cual solo se deven ocupar puros numero , esa parte si lo hago y bien solo que la tecla de borrar no me funciona ,como le hago para que funcione estoy utilizando un selec case y asigno los numeros que se pueden ocupar solo me falta la tecla de borra como o que se le tiene que poner
este es mi codigo
Código VB.net:
Ver original
  1. Select Case e.KeyChar
  2.             Case "1", "2", "3", "4", ",5", "6", "7", "8", "9", "0"
  3.             Case Else
  4.                 e.Handled = True
  5.  
  6.         End Select
__________________
Si el amor a una mujer es igual al amor a la programacion
cual de las dos escojerias...mmmm buena pregunta jejeje
  #2 (permalink)  
Antiguo 23/06/2010, 14:43
 
Fecha de Ingreso: octubre-2009
Mensajes: 30
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: como utilozar el e.keychar vb2008

Yo para eso ocupo el KeyPress, te dejo el ejemplo espero te sirva.

Código vb:
Ver original
  1. 'Tb_cantida ==> TexBox donde se ingresa una cantida.
  2. Private Sub Tb_cantidad_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles Tb_cantidad.KeyPress, Tb_unidad.KeyPress
  3.         If e.KeyChar = Microsoft.VisualBasic.ChrW(Keys.Return) Then
  4.             e.Handled = True
  5.             Tb_codigo.Focus() ' En caso de que la tecla sea Enter lo envia a un TexBox de Codigo
  6.        End If
  7.         If InStr(1, "0123456789." & Chr(8), e.KeyChar) = 0 Then
  8.  ' Validas solo las teclas que necesitas Ej. 0123456789.,-@$&/ , la barra espaciadora, backspace y los cursores funcionan sin problema
  9.            e.Handled = True
  10.             e.KeyChar = CChar("")
  11.         End If
  12.     End Sub

Desde Chile
  #3 (permalink)  
Antiguo 23/06/2010, 15:44
 
Fecha de Ingreso: agosto-2008
Ubicación: D,F
Mensajes: 412
Antigüedad: 15 años, 8 meses
Puntos: 4
Respuesta: como utilozar el e.keychar vb2008

ok lo q funciona seria esta parte Microsoft.VisualBasic.ChrW(Keys.Return) lo quise adaptarlo en un select case en el key press

Código VB:
Ver original
  1. Select Case e.KeyChar
  2.             Case "1", "2", "3", "4", "5", "6", "7", "8", "9", "0", Microsoft.VisualBasic.ChrW(Keys.Return)
  3.             Case Else
  4.                 e.Handled = True
  5.         End Select
no me funciona la parte del key return
__________________
Si el amor a una mujer es igual al amor a la programacion
cual de las dos escojerias...mmmm buena pregunta jejeje
  #4 (permalink)  
Antiguo 23/06/2010, 21:18
 
Fecha de Ingreso: agosto-2008
Ubicación: D,F
Mensajes: 412
Antigüedad: 15 años, 8 meses
Puntos: 4
Respuesta: como utilozar el e.keychar vb2008

amigos ayudenme que no logro hacer que me funcione ayudenme
__________________
Si el amor a una mujer es igual al amor a la programacion
cual de las dos escojerias...mmmm buena pregunta jejeje
  #5 (permalink)  
Antiguo 24/06/2010, 06:25
 
Fecha de Ingreso: octubre-2009
Mensajes: 30
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: como utilozar el e.keychar vb2008

Ya que insistes en validar el texbox con sele case, te encontre este codigo en la pagina del Guille (Gracias Guille)

Es te código nos muestra como validar un texbox que acepte solo números, En Visual Basic .NET
Abra un nuevo proyecto, En Proyectos de Visual Basic seleccione la plantilla Aplicación para Windows.
En la Barra de Herramientas Seleccione Proyecto se le desplegara una lista seleccione Agregar Módulo.
Agregue un Textbox al Formulario y no le cambie el Nombre, Déjelo como textbox1
En el Modulo copie y pegue este código:

Código vb:
Ver original
  1. '****************************************************************************************
  2.  
  3. '* Código realizado por Angel Ruiz © (Venezolano)                                       *
  4.  
  5. '****************************************************************************************
  6.  
  7.     Function SoloNumeros(ByVal Keyascii As Short) As Short
  8.         If InStr("1234567890", Chr(Keyascii)) = 0 Then
  9.             SoloNumeros = 0
  10.         Else
  11.             SoloNumeros = Keyascii
  12.         End If
  13.         Select Case Keyascii
  14.             Case 8
  15.                 SoloNumeros = Keyascii
  16.             Case 13
  17.                 SoloNumeros = Keyascii
  18.         End Select
  19.     End Function
  20. '------------------------------------------------------------------------------------------------
  21. 'Ahora valla al Formulario y haga doble click sobre el:
  22. 'Después de la línea:
  23.  
  24. Inherits System.Windows.Forms.Form
  25.  
  26. 'Copie y pegue esta Declaración de Variable
  27.  
  28. Public KeyAscii As Short
  29.  
  30.  
  31. 'Ahora en el evento KeyPress del textBox1 copie y pegue este código
  32.  
  33. Dim KeyAscii As Short = CShort(Asc(e.KeyChar))
  34.         keyascii = CShort(SoloNumeros(keyascii))
  35.         If keyascii = 0 Then
  36.             e.Handled = True
  37.         End If
  38.  
  39.  
  40. 'Quedaría de la siguiente forma:
  41.  
  42. Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
  43.         Dim KeyAscii As Short = CShort(Asc(e.KeyChar))
  44.         keyascii = CShort(SoloNumeros(keyascii))
  45.         If keyascii = 0 Then
  46.             e.Handled = True
  47.         End If
  48. End Sub

Desde Chile y Gracias Guille
  #6 (permalink)  
Antiguo 24/06/2010, 07:08
 
Fecha de Ingreso: agosto-2008
Ubicación: D,F
Mensajes: 412
Antigüedad: 15 años, 8 meses
Puntos: 4
Respuesta: como utilozar el e.keychar vb2008

Pero los numero si me hagarra lo que que quiero que me funciones en la tecla de borrar pero no lo quiero hcaer con if sino con un select case jijiji creo que no me entendiste amigo pero grax por tu ayuda
__________________
Si el amor a una mujer es igual al amor a la programacion
cual de las dos escojerias...mmmm buena pregunta jejeje
  #7 (permalink)  
Antiguo 31/10/2010, 16:36
Avatar de edbc92  
Fecha de Ingreso: octubre-2010
Ubicación: Lima - Los Olivos
Mensajes: 93
Antigüedad: 13 años, 6 meses
Puntos: 5
Respuesta: como utilozar el e.keychar vb2008

:Z ...No sé porque se hacen tanta bola, es un código sencillo. No sé si harán tanta cosa para presumir de que saben, pero bueno la respuesta sobre porque no te permite la tecla "delete" es porque no en tu select case no está especificado para eso has esto

Private Sub txtN1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPre[/COLOR]ss

Select Case Asc(e.KeyChar)
Case 97 To 122 '(en esta parte estas habilitando las teclas del abecedario en el idioma ascii, ojo: solo minusculas)

Case 8 '( esta es la parte que deseabas, el "8" en código ascii, representa a "delete")

Case 13
txtn2.focus '(el "13" representa enter, cuando presiones "enter" te regrese al focus que tu indicas)

Case Else
e.Handled = True

End Select
End Sub



Solo es eso :Z, tanta bola, bueno esto esta respondido fuera de tiempo, pero para una ayuda de quien "googlee" a esta parte y le sirva de ayuda ;)...

P.D.1. Tengo un excelente profe de vbnet, donde estudio.
P.D.2. "si el amor a una mujer ....", escojeria la programación, las mujeres sobran, aunque nunca hace falta algo de amor ;).

Etiquetas: vb
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 11:20.