estoy creando un teclado numérico para pantalla táctil para poder insertar números en ciertas cajas de texto.
Ejemplo:
Cita:
Va ok. Pero hay 1 problema: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
If TypeOf sender Is Button Then
txtPVP.Focus()
SendKeys.Send(CType(sender, Button).Text)
End If
End Sub
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:
Alguna idea? Ya que el color de fondo cuando tiene el foco no lo quiero quitar 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
If TypeOf sender Is Button Then
txtPVP.text += CType(sender, Button).Text
End If
End Sub