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

[Solucionado] Teclado numérico en pantalla (VB 2008)

Estas en el tema de [Solucionado] Teclado numérico en pantalla (VB 2008) en el foro de .NET en Foros del Web. Hola: estoy creando un teclado numérico para pantalla táctil para poder insertar números en ciertas cajas de texto. Ejemplo: Cita: Private Sub bt0_Click(ByVal sender As ...
  #1 (permalink)  
Antiguo 18/01/2011, 10:34
Avatar de freegirl
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: Catalonia
Mensajes: 4.334
Antigüedad: 20 años, 7 meses
Puntos: 156
Pregunta [Solucionado] Teclado numérico en pantalla (VB 2008)

Hola:

estoy creando un teclado numérico para pantalla táctil para poder insertar números en ciertas cajas de texto.

Ejemplo:
Cita:
Private Sub bt0_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt0.Click, bt1.Click, bt2.Click, bt3.Click, bt4.Click, bt5.Click, bt6.Click, bt7.Click, bt8.Click, bt9.Click, btDec.Click
If TypeOf sender Is Button Then
txtPVP.Focus()
SendKeys.Send(CType(sender, Button).Text)
End If
End Sub
Va ok. Pero hay 1 problema:

en mi caso, para que el usuario vea rápidamente qué campo tiene el foco, cuando éste lo tiene, el background tiene un color diferenciador al resto, además de poner la fuente en negrita.

Pues claro cuando tú pulsas en el botón númerico de la pantalla, el foco va hacia éste, y luego devuelve el foco al textbox. Por lo que el textbox parece una discoteca con tanta luz intermitente (es molesto):

foco textbox: fondo textbox azul
foco botón: fondo textbox blanco
foco textbox: fondo textbox azul
foco botón: fondo textbox blanco
foco textbox: fondo textbox azul
foco botón: fondo textbox blanco
foco textbox: fondo textbox azul
así hasta el infinito

Había probado algo más cutre, que evita el problema de "luces" pero .......tiene el problema de que si el usuario pone el cursor en cualquier parte del textbox, él lo añade a atrás:

Ejemplo:

Cita:
Private Sub bt0_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt0.Click, bt1.Click, bt2.Click, bt3.Click, bt4.Click, bt5.Click, bt6.Click, bt7.Click, bt8.Click, bt9.Click, btDec.Click
If TypeOf sender Is Button Then
txtPVP.text += CType(sender, Button).Text
End If
End Sub
Alguna idea? Ya que el color de fondo cuando tiene el foco no lo quiero quitar
__________________
Saludos

Última edición por freegirl; 19/01/2011 a las 08:10
  #2 (permalink)  
Antiguo 18/01/2011, 14:36
Avatar de royrojas  
Fecha de Ingreso: diciembre-2004
Mensajes: 458
Antigüedad: 19 años, 4 meses
Puntos: 3
Respuesta: Teclado numérico en pantalla (VB 2008)

como entras a cada textbox? seleccionandolo o con alguna opcion tipo 'Tab'

por que si cada vez que entras al textbox es por medio de un click podrias manejarlo con el evento click del textbox.
__________________
roy rojas
Programación en Español: DotNetcr.com
  #3 (permalink)  
Antiguo 18/01/2011, 14:59
Avatar de freegirl
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: Catalonia
Mensajes: 4.334
Antigüedad: 20 años, 7 meses
Puntos: 156
Respuesta: Teclado numérico en pantalla (VB 2008)

hola>

en el primer textbox, el foco le viene al cargar el form. Es decir al llamar el load del form, va el foco al primer textbox. Luego, el usuario, para navegar entre los textbox pulsa TAB o ENTER, o bien haciendo clic encima del textbox. ya que se puede usar en pantalla tactil o normal.

no entiendo muy bien a lo que te refieres a capturar la tecla con el click del textbox....

pd. no me van los acentos ni na porque se me ha desconfigurado el teclado
__________________
Saludos
  #4 (permalink)  
Antiguo 18/01/2011, 15:07
Avatar de royrojas  
Fecha de Ingreso: diciembre-2004
Mensajes: 458
Antigüedad: 19 años, 4 meses
Puntos: 3
Respuesta: Teclado numérico en pantalla (VB 2008)

no, ahora que explicaste que pueden usarlo con TAB o Enter, y con teclado externo, no aplica lo que te intentaba decir....

voy a seguir pensando
__________________
roy rojas
Programación en Español: DotNetcr.com
  #5 (permalink)  
Antiguo 19/01/2011, 08:10
Avatar de freegirl
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: Catalonia
Mensajes: 4.334
Antigüedad: 20 años, 7 meses
Puntos: 156
Respuesta: Teclado numérico en pantalla (VB 2008)

solucionado! Sólo tenía que asignar el color del foco cuando pulse el botón, simplemente añadir:

EJEMPLO:

Cita:
Private Sub bt0_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt0.Click, bt1.Click, bt2.Click, bt3.Click, bt4.Click, bt5.Click, bt6.Click, bt7.Click, bt8.Click, bt9.Click, btDec.Click
If TypeOf sender Is Button Then
txtPVP.BackColor = Color.Yellow
txtPVP.Focus()
SendKeys.Send(CType(sender, Button).Text)
End If
End Sub
__________________
Saludos

Última edición por freegirl; 19/01/2011 a las 08:17
  #6 (permalink)  
Antiguo 19/01/2011, 08:48
Avatar de royrojas  
Fecha de Ingreso: diciembre-2004
Mensajes: 458
Antigüedad: 19 años, 4 meses
Puntos: 3
Respuesta: [Solucionado] Teclado numérico en pantalla (VB 2008)

ah buenisimo
__________________
roy rojas
Programación en Español: DotNetcr.com

Etiquetas: pantalla, solucionado, teclado, 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 01:58.