1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【VB.NET】カスタムコントロールの作成方法(プロパティの設定)

Posted at

TextBoxのカスタムコントロールを作成する場合

カスタムコントロールを追加する

プロジェクトタブ > 新しい項目の追加 > カスタムコントロール(Windowsフォーム) を選択する。
image.png

デザイナーファイルで継承を変更する

・ソリューションエクスプローラで○○Designer.vbを探して開く。
image.png

・継承を変更する。(例:TextBoxのカスタムコントロールを作成する場合は、ControlをTextBoxに変更する。)
image.png

カスタムコントロールのプロパティを設定する

・○○.vbを選択した状態で右クリックし、コードを表示を選択する。
image.png

・以下は削除する。

○○.vb
Protected Overrides Sub OnPaint(ByVal e As System.Windows.Forms.PaintEventArgs)
    MyBase.OnPaint(e)

    'カスタム描画コードをここに追加します。
End Sub

・プロパティを追加する。(例:テキストボックスの背景色を変更する場合)
○○.vb
Public Overrides Property BackColor As Color     ' textboxのbackcolorプロパティを継承
	Get
		Return MyBase.BackColor
	End Get
	Set(value As Color)
		MyBase.BackColor = value
	End Set
End Property

Overloads プロパティ名と入力すると、入力候補で出てくるかも。

・プロパティの初期値を追加する。(↑のコードの上に追加する。)

○○.vb
<System.ComponentModel.DefaultValue(GetType(Color), "Yellow")>    ' プロパティの初期値

・コンストラクタを追加する。
○○.vb
Sub New()

	' この呼び出しはデザイナーで必要です。
	InitializeComponent()

	InitializeComponent() 呼び出しの後で初期化を追加します。
	BackColor = Color.Yellow ' TextBoxの背景色を黄色で初期化
End Sub

動作確認をする

フォームのデザイナーでコンポーネントを張り付けて実行する。
image.png
※ツールボックスにカスタムコンポーネントが出ない場合は、1回実行すると表示されるかも。

参考サイト

カスタムコントロール作り方(初級)(TextBox編)
https://www.ratebelab.com/soft/program/670/

プロパティの既定値を設定する
https://radian.hateblo.jp/entry/2014/10/17/155258

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?