Labelを継承したコントロールでAutoSizeの初期値を変更する方法


Labelを継承したコントロールを作成し、AutoSizeのプロパティでFalseを設定していても、デザイナで配置するときにTrueになってしまう問題がある。

これを問題を回避する為には以下のコードを記述する。
 <System.ComponentModel.DefaultValue(False)> _
    Public Overrides Property AutoSize() As Boolean
       Get
           Return MyBase.AutoSize
       End Get

       Set(ByVal value As Boolean)
           Static _DesignMode As Boolean = True

           If DesignMode AndAlso _DesignMode Then
               MyBase.AutoSize = False
               _DesignMode = False
           Else
               MyBase.AutoSize = value
           End If
       End Set
   End Property

継承元のAutoSizeプロパティをオーバーライドし、デフォルト値でFalseを設定。


























.
最終更新:2008年06月06日 19:18