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 originalpublic partial class FocusTextBox : TextBox
{
public FocusTextBox()
{
InitializeComponent();
GotFocus += (s, e) =>
{
Color colorToSave = BackColor;
this.BackColor = ColorOnFocus;
saveColor = colorToSave;
};
LostFocus += (s, e) =>
{
if (BackColor == ColorOnFocus && saveColor.HasValue)
{
BackColor = saveColor.Value;
saveColor = null;
}
};
}
private Color? saveColor;
private Color _colorOnFocus = Color.Aqua;
public Color ColorOnFocus
{
get { return _colorOnFocus; }
set { _colorOnFocus = value; }
}
}
}