|
|
連載:VB 6ユーザーのための これならマスターできるVB 2005超入門
第10回 今月は部品化月間 〜 ユーザー・コントロールを作成する
羽山 博
2007/07/17 |
 |
|
ユーザー・コントロールが追加されると、図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ファイルがユーザー・コントロールを含んだファイルとなる。機能は極めて限られているが、これで、初めてのユーザー・コントロールの完成だ。
続いて、このユーザー・コントロールをほかのプログラムで利用する方法を見て、その後でユーザー・コントロールを拡張するためのコードを見ていくことにしよう。
業務アプリInsider 記事ランキング
本日
月間