連載:VB 6ユーザーのための
これならマスターできるVB 2005超入門

第10回 今月は部品化月間 〜 ユーザー・コントロールを作成する

羽山 博
2007/07/17
Page1 Page2 Page3 Page4

 ユーザー・コントロールが追加されると、図4のような白紙のフォームが表示される。このフォーム上に、必要なコントロールを配置し、ユーザー・インターフェイス部品を作っていけばよい。なお、最初からプロジェクトに追加されている「Class1.vb」というクラス・ファイルは削除してもよい。ソリューション・エクスプローラで[Class1.vb]を右クリックして[削除]を選択すれば簡単に削除できる。


図4 ユーザー・コントロールのフォームが追加された
VS 2005では[新しいプロジェクト]ダイアログ・ボックスで[Windowsコントロールライブラリ]を選択すれば、この画面になる。

 このフォームに、ComboBoxコントロールとTextBoxコントロールを直接配置してもいいのだが、レイアウトがしやすいようにTableLayoutPanelコントロールを配置し、その上にComboBoxコントロールとTextBoxコントロールを配置しよう。

 まずTableLayoutPanelコントロールを配置する。図5のようになるので、[TableLayoutPanelタスク]のリストから[最終列の削除]を選択して、2行1列のテーブルにしておこう。


図5 TableLayoutPanelコントロールを配置する
後でComboBoxコントロールとTextBoxコントロールを配置するために、[最終列の削除]を選択し、2行1列のテーブルにしておく。

 2つのセル内にComboBoxコントロールとTextBoxコントロールをそれぞれ配置して、プロパティを設定すれば、ユーザー・コントロールのデザインが完成する。ただし、それらのコントロールを配置する前に、TableLayoutPanelコントロールの中央にある横罫線をドラッグして、行の高さを調節しておくとよい。以下、図6にデザインの完成例を、表1に主要なプロパティをまとめておく。


図6 ユーザー・コントロールのデザインを完成させる
TableLayoutPanelコントロールの の個所の罫線をドラッグして行の高さを調節し、ComboBoxコントロールとTextBoxコントロールを配置する。レイアウトはDockプロパティで設定する(後述)。

番号 コントロール プロパティ 設定値
TableLayoutPanel Name TableLayoutPanel1
Dock Fill
ComboBox Name IdeaCategory
Dock Fill
TextBox Name IdeaTextBox
MultiLine True
Dock Fill
表1 コントロールに設定するプロパティとその値の一覧
赤丸数字は図6に示した各コントロールに対応している。

 Dockプロパティは、そのコントロールを親コントロール(コンテナ)内でどのように配置するかを指定するものだ。Fillを指定すると、親コントロールのサイズいっぱいに表示され、親コントロールのサイズが変わると、配置したコントロールのサイズも自動的に変わる。

 例えば、TableLayoutPanel1コントロールの親コントロールはフォームなので、フォームのサイズを変更すれば、TableLayoutPanel1コントロールのサイズも変わる。同様に、IdeaCategoryコントロールやIdeaTextBoxの親コントロールはTableLayoutPanel1コントロールなので、TableLayoutPanel1コントロールのサイズを変更すれば、IdeaCategoryコントロールの幅やIdexTextBoxコントロールの幅と高さも変わることになる。

 なお、各コントロールのDockプロパティは、図7のように視覚的に指定できる。


図7 Dockプロパティを指定する
[Dock]欄右端の[▼]をクリックすると、図のような6つのボタンが表示される。親コントロールに対する配置をクリックして選択するとよい。中央のボタンをクリックするとFillが選択され、コントロールは親コントロールのサイズいっぱいに表示されるようになる。

■テスト・コンテナで動作を確認する

 ユーザー・コントロールのデザインができた時点では、テキストを入力するぐらいのことしかできないが、取りあえず動作を確認しておこう。

 ツール・バーの[デバッグ開始]ボタンをクリックすれば、テスト・コンテナと呼ばれるウィンドウが表示され、[プレビュー]画面で一通りの操作ができるようになる。後でコードを記述するが、コードに問題がある場合には、[デバッグ開始]ボタンをクリックしたときにエラーが表示される。


図8 テスト・コンテナで動作確認をする
[プレビュー]画面でユーザー・コントロールの操作ができる。右側のプロパティ一覧には利用できるプロパティが表示される。この時点では、フォームのプロパティが指定できるだけ。ComboBoxコントロールやTextBoxコントロールのプロパティは使えない。

 正しく動作することが確認できたらメニュー・バーから[ビルド]−[SampleClassLibraryのビルド]を実行し、DLLファイルを作成しておこう。このDLLファイルがユーザー・コントロールを含んだファイルとなる。機能は極めて限られているが、これで、初めてのユーザー・コントロールの完成だ。

 続いて、このユーザー・コントロールをほかのプログラムで利用する方法を見て、その後でユーザー・コントロールを拡張するためのコードを見ていくことにしよう。


 INDEX
  連載:VB 6ユーザーのためのこれならマスターできるVB 2005超入門
  第10回 今月は部品化月間 〜 ユーザー・コントロールを作成する
    1.サンプル・プログラム14 − アイデアDBのためのユーザー・インターフェイス部品
  2.ユーザー・コントロールをデザインする
    3.サンプル・プログラム15 − ユーザー・コントロールを利用するプログラム
    4.サンプル・プログラム14の拡張 − プロパティとメソッドを追加する
 
インデックス・ページヘ  「これならマスターできるVB 2005超入門」


Insider.NET フォーラム 新着記事
  • 第2回 簡潔なコーディングのために (2017/7/26)
     ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている
  • 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
     Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう
  • 第1回 明瞭なコーディングのために (2017/7/19)
     C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える
  • Presentation Translator (2017/7/18)
     Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)
- PR -

注目のテーマ

業務アプリInsider 記事ランキング

本日 月間
ソリューションFLASH