SoloCodigo

CLR: .Net / Mono / Boo / Otros CLR => VB .NET => Mensaje iniciado por: Sagma en Viernes 11 de Agosto de 2006, 18:08

Título: Cambiar De Color A Un Texbox
Publicado por: Sagma en Viernes 11 de Agosto de 2006, 18:08
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
  1.  
  2.  
  3.     Private Sub txt_descripcion_GotFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles txt_descripcion.GotFocus
  4.         Me.txt_descripcion.BackColor = Color.Yellow
  5.     End Sub
  6.  
  7.     Private Sub txt_descripcion_LostFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles txt_descripcion.LostFocus
  8.         Me.txt_descripcion.BackColor = Color.White
  9.     End Sub
  10.  
  11.  
  12.  

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
Título: Re: Cambiar De Color A Un Texbox
Publicado por: Cajami en Viernes 11 de Agosto de 2006, 21:18
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ú
Título: Re: Cambiar De Color A Un Texbox
Publicado por: Sagma en Viernes 6 de Octubre de 2006, 16:13
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
  1.  
  2.     Private Sub TieneFoco(ByVal sender As Object, ByVal e As System.EventArgs)
  3.         Dim miTextBox As TextBox DirectCast(sender, TextBox)()
  4.         miTextBox.BackColor(Color.Yellow)
  5.     End Sub
  6.  
  7.     Private Sub PierdeFoco(ByVal sender As Object, ByVal e As System.EventArgs)
  8.     Dim miTextBox As TextBox DirectCast(sender, TextBox)
  9.         miTextBox.BackColor(Color.White)
  10.     End Sub
  11.  
  12. 'Esto dentro del Load
  13.         Dim ctrl As Control
  14.         For Each ctrl In Me.Controls
  15.             If (TypeOf (ctrl) Is TextBox) Then
  16.                 Dim miTextBox As TextBox  DirectCast(ctrl, TextBox)
  17.                 AddHandler miTextBox.Enter, AddressOf TieneFoco
  18.                 AddHandler miTextBox.Leave, AddressOf PierdeFoco
  19.             End If
  20.         Next
  21.  
  22.  

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:
Título: Re: Cambiar De Color A Un Texbox
Publicado por: The Black Boy en Viernes 6 de Octubre de 2006, 16:47
Saludos amigo...

prueba esto y me cuentas

Código: Text
  1.  
  2. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  3.         Dim ctrl As Control
  4.         For Each ctrl In Me.Controls
  5.             If (TypeOf (ctrl) Is TextBox) Then
  6.                 Dim miTextBox As TextBox
  7.                 Me.mitextbox = DirectCast(ctrl, TextBox)
  8.                 AddHandler miTextBox.Enter, AddressOf TieneFoco
  9.                 AddHandler miTextBox.Leave, AddressOf PierdeFoco
  10.             End If
  11.         Next
  12.     End Sub
  13.     Private Sub TieneFoco(ByVal sender As Object, ByVal e As System.EventArgs)
  14.         Dim miTextBox As TextBox
  15.         Me.mitextbox = DirectCast(sender, TextBox)
  16.         mitextbox.BackColor = (Color.Yellow)
  17.     End Sub
  18.  
  19.     Private Sub PierdeFoco(ByVal sender As Object, ByVal e As System.EventArgs)
  20.         Dim miTextBox As TextBox
  21.         Me.mitextbox = DirectCast(sender, TextBox)
  22.         mitextbox.BackColor = (Color.White)
  23.     End Sub
  24.  
  25.  

no estoy muy seguro espero te sirva...
Título: Re: Cambiar De Color A Un Texbox
Publicado por: senzao18 en Viernes 6 de Octubre de 2006, 17:43
Lo que pasa es que en esta linea de codigo

Código: Text
  1.  
  2. Dim miTextBox As TextBox  DirectCast(ctrl, TextBox)
  3.  
  4.  

son dos instrucciones
tendria que ser algo asi

Código: Text
  1.  
  2. Dim miTextBox As TextBox = DirectCast(ctrl, TextBox)
  3.  
  4.  


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.
Título: Re: Cambiar De Color A Un Texbox
Publicado por: comsuven en Viernes 6 de Octubre de 2006, 20:50
prueba este es igual pero nunca se sabe


    Sub colorTextBoxin()
        Dim FormControl As System.Windows.Forms.Control
        For Each FormControl In Me.Controls
            If FormControl.GetType.ToString = "System.Windows.Forms.TextBox" Then
                FormControl.backcolor = xxxxxxxxxxxxxxxx = color
            End If
        Next
    End Sub

    Sub colorTextBoxout()
        Dim FormControl As System.Windows.Forms.Control
        For Each FormControl In Me.Controls
            If FormControl.GetType.ToString = "System.Windows.Forms.TextBox" Then
                FormControl.backcolor = xxxxxxxxxxxxxxxx = color
            End If
        Next
    End Sub

y luego llamas a los procedimientos
bueno eso fue lo que entendi que querias hacer
Título: Re: Cambiar De Color A Un Texbox
Publicado por: Sagma en Sábado 7 de Octubre de 2006, 15:21
Gracias por su colaboracion amigos, funciona solo con los textbox que estan fuera de los groupbox, y como se lo haria para que los textbox que esten dentro de los groupbox tambien surta efecto.

gracias  :whistling:
Título: Re: Cambiar De Color A Un Texbox
Publicado por: senzao18 en Sábado 7 de Octubre de 2006, 19:38
Tendrias que ver si el control es un groupbox y si es asi apicas el for each para los controles del groupbox....
Título: Re: Cambiar De Color A Un Texbox
Publicado por: Sagma en Viernes 13 de Octubre de 2006, 15:01
Gracias senzao18, por la informacion, esta ok.

 :comp: