Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Dh-00

Alterar cor de fundo de todos os textbox em um form

Recommended Posts

Preciso alterar todos os textbox de um projeto, aonde quando o controle receber o focus ele fique de uma dada cor, e quando perder o foco fico de outra.

 

Sei que da para fazer isso por eventos, porem tenho que configurar os eventos de todos os textbox de todos os formulários.

 

Tem alguma forma genérica de fazer isso?

 

Valeu!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Primeira coisa, seu projeto é web ou windows?

 

Abraços...

 

é um projeto em vb.net, windows.

 

abs

Compartilhar este post


Link para o post
Compartilhar em outros sites

Movido Plataforma .NET http://forum.imasters.com.br/public/style_emoticons/default/seta.gif Plataforma .NET > Windows Applications

 

Você precisará fazer um foreach para encontrar todos os controles do seu formulário.

E quando encontrar um TextBox tem que adicionar um método para o evento Enter quando entra no TextBox, e outro no evento Leave quando sai do TextBox.

 

Abraços...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Movido Plataforma .NET http://forum.imasters.com.br/public/style_emoticons/default/seta.gif Plataforma .NET > Windows Applications

 

Você precisará fazer um foreach para encontrar todos os controles do seu formulário.

E quando encontrar um TextBox tem que adicionar um método para o evento Enter quando entra no TextBox, e outro no evento Leave quando sai do TextBox.

 

Abraços...

 

quintelab,

 

Poderia por favor me dar um exemplo basico de como fazer isso, pois ainda estou perdido.

 

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

To sem vb.net aqui, vou postar em c#, a idéia é a mesma:

        private void Form1_Load(object sender, EventArgs e)
        {
            AdicionarEvento(this);
        }

        private void AdicionarEvento(Control ctl)
        {
            foreach (Control control in ctl.Controls)
            {
                if (control is TextBox)
                {
                    control.Enter += new EventHandler(txt_Enter);
                    control.Leave += new EventHandler(txt_Leave);
                }
                if (control.HasChildren)
                    AdicionarEvento(control);
            }
        }

        private void txt_Enter(object sender, EventArgs e)
        {
            ((TextBox)sender).BackColor = Color.Black;
        }

        private void txt_Leave(object sender, EventArgs e)
        {
            ((TextBox)sender).BackColor = Color.White;
        }

Abraços...

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.