Как задать Placeholder для TextBox в среде VisualStudio 2013 язык C#?
Т.к. фреймворк не указан, надо полагать, что по дефолту у нас WinForms. Тогда в простейшем виде это выглядит так:class TextBoxWithPlaceholder : TextBox
{
    public string Placeholder { get; set; }

    protected override void OnCreateControl()
    {
        base.OnCreateControl();

        if (!DesignMode)
        {
            Text = Placeholder;
        }
    }

    protected override void OnLostFocus(EventArgs e)
    {
        base.OnLostFocus(e);

        if (Text.Equals(string.Empty))
        {
            Text = Placeholder;
        }
    }

    protected override void OnGotFocus(EventArgs e)
    {
        base.OnGotFocus(e);

        if (Text.Equals(Placeholder))
        {
            Text = string.Empty;
        }
    }
}
Можно пошаманить с твоей идей, сделать контрол, так же посмотри события там их много, я бы убирал текст при условии что поле пустое и ставил placeholder, а при фокусе убирал placeholder, можно и флаг врубить и через него проверять. Идей куча.
Можно так же посмотреть контролы с реализацией.
Удачи:)