El control personalizado vb .NET que hereda de TextBox no activa el evento Paint

Necesito un TextBox multilínea que siempre está deshabilitado, pero no debería pintarse solo en gris, pero quiero mantener el color elegido por su diseñador.

Anteriormente tenía el mismo requisito con una etiqueta siempre negra (sin multilínea) y heredé de Label como:

Imports System.ComponentModel

   Public Class LabelDisabled
        Inherits Label

        Sub New()
            InitializeComponent()
            Enabled = False
        End Sub

        Protected Overrides Sub OnPaint(ByVal e As System.Windows.Forms.PaintEventArgs)
            ' always draw it black
            e.Graphics.DrawString(Me.Text, Me.Font, Brushes.Black, 0, 0)
        End Sub

    End Class

Eso funciona bien Ahora quiero lo mismo pero con una etiqueta multilínea, así que elegí heredar de TextBox:

Imports System.ComponentModel

Public Class CustomControl1
    Inherits TextBox

    Sub New()

        InitializeComponent()
        'Paint never fires anyway
        'Enabled = False
    End Sub


    Protected Overrides Sub OnPaint(ByVal e As System.Windows.Forms.PaintEventArgs)
        Dim brush As New SolidBrush(Me.ForeColor)
        e.Graphics.DrawString(Me.Text, Me.Font, brush, 0, 0)
    End Sub

End Class

Ahora el evento Paint nunca se activa en el CustomControl1 - TextBox heredado - control.

¿Por qué no puedo obtener el evento Paint?

Además, si quiero hacer que la propiedad Enabled sea invisible y no configurable por el usuario, lo hago:

<Browsable(False),
DefaultValue(False)>
Public Overloads Property Enabled As Boolean
    Get
        Return False
    End Get
    Set(ByVal value As Boolean)
    End Set
End Property

Pero de esta manera, tampoco puedo establecer la propiedad habilitada "real", me refiero al campo de respaldo.

Respuestas a la pregunta(2)

Su respuesta a la pregunta