詳細 : 名前付き値を持つプロパティの追加

更新 : 2007 年 11 月

このレッスンでは、値のリストを含むプロパティをユーザー コントロールに追加する方法を学習します。

名前付き値

これまでにユーザー コントロールに追加したプロパティは、いずれも文字列値を受け取るものでしたが、プロパティにはさまざまな種類があります。以前のレッスンで設定した PictureBox コントロールの SizeMode プロパティのように、事前設定した値のリストを用意して選択を可能にすることもできます。

たとえば、FullName ラベルでの名前の表示方法を選択できるプロパティを NamesControl に作成するとします。選択する値のリスト (first name first、last name first、first and last name only など) が必要です。

Visual Basic では、必要な値を含んだ列挙型を作成できます。"列挙型" は、"番号付きリスト" を格好良く表現した用語です。番号は Visual Basic によって自動的に格納されるので、値を名前で参照することができます。次の例に示すように、列挙型は Enum キーワードを使用して宣言します。

Public Enum Display
    FirstMiddleLast
    FirstLast
    LastFirstMiddle
    LastFirst
End Enum

作成した列挙型は、他のデータ型と同じように使用できます。値のリストを表示するプロパティを追加するには、まず Enum と同じデータ型の変数を宣言し、次に同じデータ型のプロパティを宣言します。デザイン時には、列挙体に含まれている値のリストが [プロパティ] ウィンドウに表示されます。

やってみよう

値のリストを表示するプロパティを追加するには

  1. 前のレッスンで作成した NamesUserControl プロジェクトを開きます。プロジェクトを保存していない場合は、まず前のレッスンの「ユーザー コントロールへのコードの追加」に戻り、そのレッスンの手順を完了する必要があります。

  2. ソリューション エクスプローラの NamesControl.vb をクリックし、[表示] メニューの [コード] をクリックします。

  3. コード エディタで、列挙を作成する次のコードをクラスに追加します。

    Public Enum Display
        FirstMiddleLast
        FirstLast
        LastFirstMiddle
        LastFirst
    End Enum
    
  4. 次のコードを追加することにより、新しいプロパティを追加します。

    Private DisplayStyleList As Display 
    Property DisplayStyle() As Display
        Get
            Return DisplayStyleList
        End Get
        Set(ByVal value As Display)
            DisplayStyleList = value
        End Set
    End Property
    
  5. FirstName_TextChanged イベント ハンドラ内で既存のコードを削除し、それを次のコードに置換します。

    Select Case DisplayStyleList
        Case Display.FirstLast
            FullName.Text = FirstName.Text & " " & LastName.Text
        Case Display.FirstMiddleLast
            FullName.Text = FirstName.Text & " " & MiddleName.Text & " " & LastName.Text
        Case Display.LastFirst
            FullName.Text = LastName.Text & ", " & FirstName.Text
        Case Display.LastFirstMiddle
            FullName.Text = LastName.Text & ", " & FirstName.Text & " " & MiddleName.Text
    End Select
    
  6. F5 キーを押してプログラムを実行します。3 つのテキスト ボックスに、ファースト ネーム、ラスト ネーム、およびミドル ネームを入力します。

  7. [ユーザー コントロール テスト コンテナ] で、[プロパティ] グリッドの一番下にスクロールし、DisplayStyle プロパティを選択します。別の値を選択し、いずれかのテキスト ボックスのテキストを変更することで、ラベルがどのように変化するか観察します。

  8. [ファイル] メニューの [すべてを保存] をクリックして、作業を保存します。

次の手順

このレッスンでは、列挙型を使用して、値のリストを持つプロパティを作成する方法について説明しました。次のレッスンでは、ユーザー コントロールをフォーム上に配置してテストする方法を説明します。

次のレッスン : 「ユーザー コントロールのテスト

参照

処理手順

ユーザー コントロールへのコードの追加

その他の技術情報

表示されるオブジェクト : 初めてのユーザー コントロールの作成

オブジェクトによるプログラミング : クラスを使用する

Visual Basic ガイド ツアー