Visual Basic.NET - Colores de Fondo

 
Vista:

Colores de Fondo

Publicado por Jorge (16 intervenciones) el 07/01/2009 19:58:59
hola amigos
estoy haciendo un formulario y deseo hacer lo siguiente:

Cuando un objeto reciva el enfoque (focus) el color de fondo cambie a cualquiera que yo elija, y al salir del foco reestablezca el color al predeterminado.
bueno esto es facil lograndose con los eventos o metodos GOTFOCUS y LOSTFOCUS
pero yo quiero hacer algo mas automatico, y no estar repitiendo el codigo para cada objeto utilizado en el formulario, incluso en los objetos contenedores como TABCONTROL.
se que se utiliza FOR EACH control IN CONTROL, pero no logro hacer que funcione con TABCONTROL, alguien sabe que hacer o como hacerle o bien alguna utileria o codigo que me puedan facilitar para esto¡?????

Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de roger

RE:Colores de Fondo

Publicado por roger (186 intervenciones) el 08/01/2009 02:22:17
puedes hacer un metodo solo y al manejador de eventos (enter, gotfocus, etc), le asignas el metodo. Asi:

private void cambiarColor(object sender, EventArgs e)
{
Control objControl = sender as Control;
objControl.BackColor = Color.Fuchsia;
}

Asi cada vez que se ejecute el evento para cada control ira a este mismo metodo.
espero que te sirva
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Colores de Fondo

Publicado por Mauricio (6 intervenciones) el 15/01/2009 01:12:29
Dim c As System.Windows.Forms.Control

For Each c In Me.Controls
c.BackColor = Color.Blue
c.ForeColor = Color.Red
Next

Obviamente no todos los controles obedecen a estas reglas como el datagrid
de todas maneras puedes colocarlo en elload de tu form
colocar varios controles y verificar el cambio

incluso dentro d ciclo for puedes checar el tipo de control
para validad si cambia de color o no o si son varios colors segun el tipo de control

esto para aplicar despues en una funcion tal como te comenta roger

y no estar pasando control por control
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Colores de Fondo

Publicado por Mauricio (6 intervenciones) el 15/01/2009 01:12:33
Dim c As System.Windows.Forms.Control

For Each c In Me.Controls
c.BackColor = Color.Blue
c.ForeColor = Color.Red
Next

Obviamente no todos los controles obedecen a estas reglas como el datagrid
de todas maneras puedes colocarlo en elload de tu form
colocar varios controles y verificar el cambio

incluso dentro d ciclo for puedes checar el tipo de control
para validad si cambia de color o no o si son varios colors segun el tipo de control

esto para aplicar despues en una funcion tal como te comenta roger

y no estar pasando control por control
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar