カスタムコントロールの既定のpropertyの上書き

 

■独自のpropertyは自動実装propertyでサクッとできる

<DefaultValue(0)>
<Browsable(True)>
<Description("当Controlを使用可能となるRoleId")>
Public Property RoleId As Integer = 0 

 ’上記の様に、propertyの初期化で初期値も与えて置ける。

 

■規定のpropertyはShadowsなりしないと駄目っぽい
Private _columnHeadersHeightSizeMode As DataGridViewColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.EnableResizing

<DefaultValue(DataGridViewColumnHeadersHeightSizeMode.EnableResizing)>
<Browsable(True)>
<Description("EnableResizing")>
Public Shadows Property ColumnHeadersHeightSizeMode As  DataGridViewColumnHeadersHeightSizeMode
 Get
  Return _columnHeadersHeightSizeMode
 End Get
 Set(value As DataGridViewColumnHeadersHeightSizeMode)
  _columnHeadersHeightSizeMode = value
 End Set
End Property

(*)DefaultValueは、デザイナのproperty欄にデフォルトで表示する値
コンストラクタ内で、そのpropertyに対して何か値をセットすれば、

実際に適用される値はそのセットした値となる。