Ver Mensaje Individual
  #2 (permalink)  
Antiguo 06/05/2012, 14:44
alexg88
 
Fecha de Ingreso: abril-2011
Mensajes: 1.342
Antigüedad: 11 años, 10 meses
Puntos: 344
Respuesta: Es posible con herencia?

Puedes hacer algo así, creas una clase que herede de TextBox y defines los eventos de GotFocus y LostFocus, además de una propiedad ColorOnFocus (el color cuando se enfoca) y un atributo saveColor (se guarda el color cuando no está el foco).

Código C#:
Ver original
  1. public partial class FocusTextBox : TextBox
  2.     {
  3.         public FocusTextBox()
  4.         {
  5.             InitializeComponent();
  6.             GotFocus += (s, e) =>
  7.             {
  8.                 Color colorToSave = BackColor;              
  9.                 this.BackColor = ColorOnFocus;
  10.                 saveColor = colorToSave;
  11.             };
  12.  
  13.             LostFocus += (s, e) =>
  14.             {
  15.                 if (BackColor == ColorOnFocus && saveColor.HasValue)
  16.                 {
  17.                     BackColor = saveColor.Value;
  18.                     saveColor = null;
  19.                 }
  20.             };
  21.         }
  22.  
  23.         private Color? saveColor;
  24.  
  25.         private Color _colorOnFocus = Color.Aqua;
  26.  
  27.         public Color ColorOnFocus
  28.         {
  29.             get { return _colorOnFocus; }
  30.             set { _colorOnFocus = value; }
  31.         }      
  32.     }
  33. }