カスタムコントロール(自プロジェクト内で)

①ソリューションエクスプローラで右クリック

②新規追加⇒カスタムコントロールを指定

 (ユーザコントロールではないので注意)

③追加したファイルのDesingner.vbを開き、継承するクラスを変更

  Inherits System.Windows.Forms.Control

   Inherits System.Windows.Forms.ベースにしたいコントロール

  ex)Inherits System.Windows.Forms.TextBox

④Onpaintメソッドが自動で追加されるので、削除

⑤propertyやMethod等、必要なものを追加してビルド

⑥作成したコントロールが、ツールボックスに表示され使用可能となる。

 

尚、propertyには必要に応じ以下の属性を付与する

①<Browsable(True)>

 Falseに指定した場合、当該propertyはデザイナのproperty欄に表示されなくなる。

②<DefaultValue(値)>

 規定値を設定。値欄に設定したい値を入力する

<TypeConverter(GetType(ExpandableObjectConverter))>

 独自クラス型のPropertyを設ける場合、そのPropertyにこの属性を付与しないと

 Property欄に表示されない

<DesignerSerializationVisibility(DesignerSerializationVisibility.Content)>

 独自クラス型のPropertyについて、この属性を付与しないと、デザイナで変更した

 値が反映されない