ASSOCIAR UMA FUN?ÃO A UM EVENTO AUTOMATICAMENTE
Pessoal,
Eu tenho uma função que muda a cor do backcolor de textbox, combobox sempre que ele recebe o foco ou perde o foco. Só que para isso tenho que colocar sempre nos eventos a chamada para a função. Minhas dúvidas;
1º) Tem como associar essa função dinamicamente, ou seja, ao carregar o formulário, a função lista todos os controles tipo textbox, combobox e associa a função a um evento que realize a chamada a função.
2º) Ao fechar o form descarrega tudo isso da memória.
Desde já agradeço pela atenção.
Eu tenho uma função que muda a cor do backcolor de textbox, combobox sempre que ele recebe o foco ou perde o foco. Só que para isso tenho que colocar sempre nos eventos a chamada para a função. Minhas dúvidas;
1º) Tem como associar essa função dinamicamente, ou seja, ao carregar o formulário, a função lista todos os controles tipo textbox, combobox e associa a função a um evento que realize a chamada a função.
2º) Ao fechar o form descarrega tudo isso da memória.
Desde já agradeço pela atenção.
Você pode criar um user control.
Vc pode criar um handle com a chamada da função e aplicar a todas as TextBoxes que precisam desse comportamento, tipo:
PS: Eu chutei o nome do evento, mas a parada é por aÃ.
Private Sub TextBox_GotFocus(ByVal sender As Object, ByVal e As EventArgs) Handles TextBox1.GotFocus, TextBox2.GotFocus, TextBox3.GotFocus
Call FuncaoQueMudarBackColor
End Sub
PS: Eu chutei o nome do evento, mas a parada é por aÃ.
Lamentável o .net não possuir esse recurso como sendo nativo. Recuso muito legal, que agente tem que criara funções ou controles para ter.
Quando uitliza vb6 achava que isso aconteceria com os futuros vbs.
Lamentável.
Quando uitliza vb6 achava que isso aconteceria com os futuros vbs.
Lamentável.
Llaia,
Eu precisaria informar quais textboxes, neste caso?
Por que eu tenho uma função que já lista as textboxes. Agora seria necessário criar um evento na memória e associá-lo.
Eu precisaria informar quais textboxes, neste caso?
Por que eu tenho uma função que já lista as textboxes. Agora seria necessário criar um evento na memória e associá-lo.
Public Class Form1
Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
For Each c As Control In Me.Controls
AddHandler c.GotFocus, AddressOf Controles_GotFocus
AddHandler c.LostFocus, AddressOf Controles_LostFocus
Next
End Sub
Private Sub Controles_GotFocus(sender As Object, e As EventArgs)
sender.BackColor = Color.Azure
End Sub
Private Sub Controles_LostFocus(sender As Object, e As EventArgs)
sender.BackColor = Color.White
End Sub
End Class
Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
For Each c As Control In Me.Controls
AddHandler c.GotFocus, AddressOf Controles_GotFocus
AddHandler c.LostFocus, AddressOf Controles_LostFocus
Next
End Sub
Private Sub Controles_GotFocus(sender As Object, e As EventArgs)
sender.BackColor = Color.Azure
End Sub
Private Sub Controles_LostFocus(sender As Object, e As EventArgs)
sender.BackColor = Color.White
End Sub
End Class
Jaba,
Exatamente o que eu queria. Me expressei errado. Eu estava quebrando cabeça em saber como passar por parâmetro o objeto.
Valeu.
Complementei com o que eu havia já desenvolvido e ficou perfeito.
Exatamente o que eu queria. Me expressei errado. Eu estava quebrando cabeça em saber como passar por parâmetro o objeto.
Valeu.
Complementei com o que eu havia já desenvolvido e ficou perfeito.
Eu acabei deletando aquela outra postagem que fiz. Já viu essa solução que postei?
GRANDE JABA !!
Tópico encerrado , respostas não são mais permitidas