Cambiar el color del borde en TextBox C #

Tengo el siguiente código:

public class OurTextBox : TextBox
{
    public OurTextBox()
        : base()
    {
        this.SetStyle(ControlStyles.UserPaint, true);
    }

    protected override void OnPaint(PaintEventArgs e)
    {
         base.OnPaint(e);
         Pen penBorder = new Pen(Color.Gray, 1);
         Rectangle rectBorder = new Rectangle(e.ClipRectangle.X, e.ClipRectangle.Y, e.ClipRectangle.Width - 1, e.ClipRectangle.Height - 1);
         e.Graphics.DrawRectangle(penBorder, rectBorder);
   }
}

Esto funciona perfectamente, pero no muestra el texto hasta que se enfoca.

Alguien puede ayudarme? ¿Qué está mal?

Gracias de antemano.

Respuestas a la pregunta(4)

Su respuesta a la pregunta