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; }
        }       
    }
}