Ver Mensaje Individual
  #1 (permalink)  
Antiguo 18/01/2011, 10:34
Avatar de freegirl
freegirl
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: Catalonia
Mensajes: 4.334
Antigüedad: 21 años, 3 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