方法 : 複合コントロールを作成する

更新 : 2007 年 11 月

複合コントロールはさまざまな方法で使用できます。Windows デスクトップ アプリケーション プロジェクトの一部として作成し、そのプロジェクトのフォームでだけ使用することもできます。また、Windows コントロール ライブラリ プロジェクトで作成し、プロジェクトをアセンブリにコンパイルして、コントロールを他のプロジェクトで使用することもできます。さらに、そのコントロールから継承し、ビジュアル継承を使用して、特定の用途に合わせて簡単にカスタマイズすることもできます。

3sf86w5h.alert_note(ja-jp,VS.90).gifメモ :

Web フォームで使用する複合コントロールを作成する場合は、「ASP.NET カスタム サーバー コントロールの開発」を参照してください。

使用している設定またはエディションによっては、表示されるダイアログ ボックスやメニュー コマンドがヘルプに記載されている内容と異なる場合があります。設定を変更するには、[ツール] メニューの [設定のインポートとエクスポート] をクリックします。詳細については、「Visual Studio の設定」を参照してください。

複合コントロールを作成するには

  1. DemoControlHost という新しい Windows アプリケーション プロジェクトを開きます。

  2. [プロジェクト] メニューの [ユーザー コントロールの追加] をクリックします。

  3. [新しい項目の追加] ダイアログ ボックスで、クラス ファイル (.vb ファイルまたは .cs ファイル) に複合コントロールの名前を付けます。

  4. [追加] をクリックして複合コントロールのクラス ファイルを作成します。

  5. コントロールをツールボックスから複合コントロール領域に追加します。

  6. 複合コントロールまたはその内在コントロールから発生したイベントを処理するために、イベント プロシージャにコードを記述します。

  7. プロンプトが表示されたら、複合コントロールのデザイナを閉じ、ファイルを保存します。

  8. [ビルド] メニューの [ソリューションのビルド] をクリックします。

    カスタム コントロールをツールボックスに表示するには、プロジェクトをビルドする必要があります。

  9. ツールボックスの [DemoControlHost] タブを使用して、コントロールのインスタンスを Form1 に追加します。

コントロール クラス ライブラリを作成するには

  1. 新しい Windows コントロール ライブラリ プロジェクトを開きます。

    既定では、プロジェクトに複合コントロールが含まれています。

  2. 上記の手順に従って、コントロールおよびコードを追加します。

  3. 継承したクラスを変更しないコントロールを選択し、このコントロールの Modifiers プロパティを Private に設定します。

  4. DLL をビルドします。

コントロール クラス ライブラリの複合コントロールから継承するには

  1. [ファイル] メニューの [追加] をポイントし、[新しいプロジェクト] をクリックして新しい Windows アプリケーション プロジェクトをソリューションに追加します。

  2. ソリューション エクスプローラにある新しいプロジェクトの [参照設定] フォルダを右クリックし、[参照の追加] をクリックして [参照の追加] ダイアログ ボックスを開きます。

  3. [プロジェクト] タブをクリックし、コントロール ライブラリ プロジェクトをダブルクリックします。

  4. [ビルド] メニューの [ソリューションのビルド] をクリックします。

  5. ソリューション エクスプローラでコントロール ライブラリ プロジェクトを右クリックし、ショートカット メニューの [新しい項目の追加] をクリックします。

  6. [新しい項目の追加] ダイアログ ボックスの [継承されたユーザー コントロール] テンプレートをクリックします。

  7. [新しい項目の追加] ダイアログ ボックスで、継承するコントロールをダブルクリックします。

    新しいコントロールがプロジェクトに追加されます。

  8. 新しいコントロールのビジュアル デザイナを開き、必要な内在コントロールを追加します。

    DLL の複合コントロールから継承された内在コントロールが表示され、Modifiers プロパティが Public であるコントロールのプロパティを変更できます。Modifiers プロパティが Private であるコントロールについては、プロパティを変更できません。

参照

処理手順

チュートリアル : Visual Basic による複合コントロールの作成

チュートリアル : Visual Basic による Windows フォーム コントロールからの継承

方法 : Windows フォームのコントロールを作成する

概念

コントロールの種類に関するアドバイス

さまざまなカスタム コントロール