カスタムコントロール(デザイン時のインスタンスを判定する)

ラベルコントロール等がそうだが、コントロールはツールパレットからフォームにドロップされた時に、クラス名をベースとした、仮のNameプロパティが設定されて、そのNameプロパティが初期のTextプロパティとコントロール上に描画される。Controlから派生したコントロールを作っていて、これと同じ動作をしたかったのだが、見本になる実装が無いので適当に書いてみた。

protected override void OnPaint(PaintEventArgs e)
{
    Graphics gr = e.Graphics;
    /* 自身の描画処理を記述 */
   
    if ( this.Site != null && this.Site.DesignMode )
    {
        TextRenderer.DrawText(gr, this.Text, this.Font, new Point(5, 5), this.ForeColor);
    }
}

Textプロパティを描画するのはデザイン時だけなのだが、この「自身がインスタンス化されたのが、デザイン時なのかランタイム時なのか」という判定をどう書いて良いのかが全く解らなかった。取り敢えずSiteプロパティで判定してみたが、これで良いかどうか全く自信が無い。