CLR: .Net / Mono / Boo / Otros CLR > VB .NET
Cambiar De Color A Un Texbox
Sagma:
Hola a todos, quisiera saber si hay alguna forma de que el cambio de color del textbox, que cuando el cursor este en este cambie de color.
he encontrado :
--- Código: Text --- Private Sub txt_descripcion_GotFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles txt_descripcion.GotFocus Me.txt_descripcion.BackColor = Color.Yellow End Sub Private Sub txt_descripcion_LostFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles txt_descripcion.LostFocus Me.txt_descripcion.BackColor = Color.White End Sub
pero como le hago para 12 textbox, tendre que hacer uno por uno, o hay alguna manera de hacer todo en uno solo :blink:
gracias
Cajami:
Hola que tal, en el .Net existe Handles bueno ps para crear un procedimiento compartido, bueno para no aburrirte puedes hacer esto:
Private Sub txt_descripcion_GotFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles txt_descripcion.GotFocus, TextBox1.GotFocus, TextBox2.Gotfocus
Me.txt_descripcion.BackColor = Color.Yellow
End Sub
Lo que hace es unir ese procedimiento con esos objetos (TextBox). Nos vemos :hola:
Tumbes - Perú
Sagma:
gracias cajami por contestar, miren encontre este ejemplo en la web, pero me da errores.
agluien me podrian indicar el motivo del error:
--- Código: Text --- Private Sub TieneFoco(ByVal sender As Object, ByVal e As System.EventArgs) Dim miTextBox As TextBox DirectCast(sender, TextBox)() miTextBox.BackColor(Color.Yellow) End Sub Private Sub PierdeFoco(ByVal sender As Object, ByVal e As System.EventArgs) Dim miTextBox As TextBox DirectCast(sender, TextBox) miTextBox.BackColor(Color.White) End Sub 'Esto dentro del Load Dim ctrl As Control For Each ctrl In Me.Controls If (TypeOf (ctrl) Is TextBox) Then Dim miTextBox As TextBox DirectCast(ctrl, TextBox) AddHandler miTextBox.Enter, AddressOf TieneFoco AddHandler miTextBox.Leave, AddressOf PierdeFoco End If Next
el error que me das es el:
DirectCast(sender, TextBox) ya que sale el mensaje "se esperaba el fin de la instruccion"
y en
miTextBox.BackColor(Color.White) "Debe asignarse un acceso de propiedad a la propiedad o utilizar el valor"
gracias :whistling:
The Black Boy:
Saludos amigo...
prueba esto y me cuentas
--- Código: Text --- Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim ctrl As Control For Each ctrl In Me.Controls If (TypeOf (ctrl) Is TextBox) Then Dim miTextBox As TextBox Me.mitextbox = DirectCast(ctrl, TextBox) AddHandler miTextBox.Enter, AddressOf TieneFoco AddHandler miTextBox.Leave, AddressOf PierdeFoco End If Next End Sub Private Sub TieneFoco(ByVal sender As Object, ByVal e As System.EventArgs) Dim miTextBox As TextBox Me.mitextbox = DirectCast(sender, TextBox) mitextbox.BackColor = (Color.Yellow) End Sub Private Sub PierdeFoco(ByVal sender As Object, ByVal e As System.EventArgs) Dim miTextBox As TextBox Me.mitextbox = DirectCast(sender, TextBox) mitextbox.BackColor = (Color.White) End Sub
no estoy muy seguro espero te sirva...
senzao18:
Lo que pasa es que en esta linea de codigo
--- Código: Text --- Dim miTextBox As TextBox DirectCast(ctrl, TextBox)
son dos instrucciones
tendria que ser algo asi
--- Código: Text --- Dim miTextBox As TextBox = DirectCast(ctrl, TextBox)
El codigo que te puso The Black Boy a simple vista se ve que está correcto...
Igual lo que puso Cajami es una muy buena opcion....
Saludos.
Navegación
[#] Página Siguiente
Ir a la versión completa