Jump to content
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

Sign in to follow this  
samesdavis

[Resolvido] Mudança de cores em campos

Recommended Posts

samesdavis

Tenho um form que tem vários campos, e desejo que ao receber foco, a cor do campo mude e ao perder o foco volte ao que era antes.

Eu até já fiz o código para fazer isso:

	Private Sub cbIDEMPR_FUNC_GotFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles cbIDEMPR_FUNC.GotFocus
	Me.cbIDEMPR_FUNC.BackColor = Color.LightGoldenrodYellow
End Sub

Private Sub cbIDEMPR_FUNC_LostFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles cbIDEMPR_FUNC.LostFocus
	Me.cbIDEMPR_FUNC.BackColor = Color.White
End Sub

O problema é que terei de colocar esse mesmo código para cada campo, mudando o nome dos campos.

Existe alguma forma de eu fazer um loop no meu form para fazer esse esquema automaticamente?

Edited by Caça
GeSHi

Share this post


Link to post
Share on other sites
Caça

Podes criar tu uns controlos personalizados já com essa funcionalidade, prontos a usar em qualquer parte do programa sem ter de estar a repetir código.


Pedro Martins

Não respondo a duvidas por PM

Share this post


Link to post
Share on other sites
Caça

Com uma classe que vai herdar de um controlo, por exemplo

Public Class MyTextBox
  Inherits TextBox

  'O teu código aqui
End Class

Depois de teres o teu código ai, faz um Rebuild e a tua nova TextBox vai-te aparecer na ToolBox


Pedro Martins

Não respondo a duvidas por PM

Share this post


Link to post
Share on other sites
samesdavis

Será bom que irei aprender a fazer isso:

Montei esse código

Imports System.Windows.Forms

Public Class clTexboxColor

   Public Class TextBoxColor
       Inherits TextBox

       Protected Overrides Sub OnGotFocus(ByVal e As System.EventArgs)
           Me.BackColor = Color.LightGoldenrodYellow
           MyBase.OnGotFocus(e)
       End Sub

       Protected Overrides Sub OnLostFocus(ByVal e As System.EventArgs)
           Me.BackColor = Color.White
           MyBase.OnLostFocus(e)
       End Sub


   End Class

End Class

Mas ele não está funcionando, pode me ajudar?

Edited by pmg
GeSHi

Share this post


Link to post
Share on other sites
samesdavis

O que não estava funcionando, é que o novo texbox que criei, não estava aparecendo na Toolbox

Mas depois ele funcionou, tive que sair do VS2010 e quando abri de novo o código, ele estava lá.

Resolvido!

Edited by samesdavis

Share this post


Link to post
Share on other sites
Caça

Tens de fazer um Rebuid ao projecto para que apareça.


Pedro Martins

Não respondo a duvidas por PM

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.