Forums Últimos mensajes - Powered by IBM
 

Help..cambiar el backcolor de todos los textbox alternativamente.

09/01/2006 - 19:57 por Joshua | Informe spam
El siguiente codigo basicamente cambio el backcolor de los textbos de mi
formulario, el problema que tengo es que no me funciona y no se donde poder
llamar al evento para que se ejecute.

Sub SetupEventHandlers()
Dim ctrl As Control
For Each ctrl In Me.Controls
If TypeOf ctrl Is TextBox = True Then
AddHandler ctrl.GotFocus, AddressOf Controls_GotFocus
AddHandler ctrl.LostFocus, AddressOf Controls_LostFocus
End If
Next
End Sub

Private Sub Controls_GotFocus(ByVal sender As Object, _
ByVal e As System.EventArgs)
Dim ctrl As Control = CType(sender, Control)
ctrl.BackColor = Color.Yellow
End Sub

Private Sub Controls_LostFocus(ByVal sender As Object, _
ByVal e As System.EventArgs)
Dim ctrl As Control = CType(sender, Control)

ctrl.BackColor = Color.Yellow
End Sub
 

Leer las respuestas

#1 A.Poblacion
10/01/2006 - 08:18 | Informe spam
Lo más normal es que llames a SetupEventHandlers una vez en el Form_Load, o
en el constructor del Form. Este procedimiento lo que hace es conectar las
dos rutinas de GotFocus y LostFocus a todos los Textboxes que haya
directamente sobre el form (pero no los que se encuentren dentro de un
contenedor, por ejemplo, un Panel o un TabControl).
Una vez hecho esto, los eventos no los "llamas" nunca, sino que se disparan
automáticamente cada vez que entres y salgas de uno de esos textboxes.
Ten presente que el baclcolor lo estás poniendo en amarillo tanto en el
GotFocus como en el LostFocus, con lo cual una vez que pases por cada
control se quedará amarillo y no volverá a cambiar. Me imagino que lo que
quieres es que cambien de color al pasar por ellos, asi que en el LostFocus
tendrás que poner un color diferente del GotFocus.

"Joshua" wrote in message
news:
El siguiente codigo basicamente cambio el backcolor de los textbos de mi
formulario, el problema que tengo es que no me funciona y no se donde
poder
llamar al evento para que se ejecute.

Sub SetupEventHandlers()
Dim ctrl As Control
For Each ctrl In Me.Controls
If TypeOf ctrl Is TextBox = True Then
AddHandler ctrl.GotFocus, AddressOf Controls_GotFocus
AddHandler ctrl.LostFocus, AddressOf Controls_LostFocus
End If
Next
End Sub

Private Sub Controls_GotFocus(ByVal sender As Object, _
ByVal e As System.EventArgs)
Dim ctrl As Control = CType(sender, Control)
ctrl.BackColor = Color.Yellow
End Sub

Private Sub Controls_LostFocus(ByVal sender As Object, _
ByVal e As System.EventArgs)
Dim ctrl As Control = CType(sender, Control)

ctrl.BackColor = Color.Yellow
End Sub



Preguntas similares