方法 : [継承ピッカー] ダイアログ ボックスを使用してフォームを継承する
更新 : 2007 年 11 月
フォームなどのオブジェクトを継承する最も簡単な方法は、[継承ピッカー] ダイアログ ボックスを使用する方法です。継承ピッカーを使用すると、他のソリューションで作成したコードまたはユーザー インターフェイス (UI) を利用できます。
メモ : |
---|
[継承ピッカー] ダイアログ ボックスを使用してフォームを継承するには、継承元のフォームを含むプロジェクトを実行可能ファイルまたは DLL (Dynamic Link Library) の形式で作成しておく必要があります。プロジェクトをビルドするには、[ビルド] メニューの [ソリューションのビルド] をクリックします。 使用している設定またはエディションによっては、表示されるダイアログ ボックスやメニュー コマンドがヘルプに記載されている内容と異なる場合があります。設定を変更するには、[ツール] メニューの [設定のインポートとエクスポート] をクリックします。詳細については、「Visual Studio の設定」を参照してください。 |
継承ピッカーを使用して、既存のフォームから継承した Windows フォームを作成するには
[プロジェクト] メニューの [Windows フォームの追加] をクリックします。
[新しい項目の追加] ダイアログ ボックスが表示されます。
[継承されたフォーム] テンプレートを選択し、[ファイル名] ボックスで名前を付けます。[追加] をクリックして次に進みます。
[継承ピッカー] ダイアログ ボックスが表示されます。現在のプロジェクトに既にフォームが含まれている場合、これらは [継承ピッカー] ダイアログ ボックスに表示されます。
別のアセンブリのフォームを継承するには、[参照] ボタンをクリックします。
[継承元コンポーネントを含むファイルの選択...] ダイアログ ボックスで、目的のフォームまたはモジュールを含むプロジェクトに移動します。
.exe または .dll ファイルの名前をクリックして選択し、[開く] をクリックします。
[継承ピッカー] ダイアログ ボックスが再表示され、選択したコンポーネント、およびそれぞれのコンポーネントが格納されているプロジェクトが一覧表示されます。
目的のコンポーネントを選択します。
ソリューション エクスプローラで、選択したコンポーネントがプロジェクトに追加されます。コンポーネントに UI が含まれている場合、継承先のフォームのコントロールは、グリフ () で表示されます。それらのコントロールを選択すると、スーパークラス化されたフォームでのコントロールのセキュリティ レベルが、境界線によって示されます。各セキュリティ レベルとそれに対応する動作は、次の表のとおりです。
コントロールのセキュリティ レベル
デザイナまたはコード エディタで実行できる継承先のフォームとの対話
Public
サイズ ハンドルの付いた標準境界線 : コントロールのサイズを変更したり、コントロールを移動したりできます。コントロールには、そのコントロールを宣言しているクラスから内部的にアクセスしたり、ほかのクラスから外部的にアクセスしたりできます。
Protected
サイズ ハンドルの付いた標準境界線 : コントロールのサイズを変更したり、コントロールを移動したりできます。そのコントロールを宣言しているクラス、または親クラスから継承されたクラスからは内部的にアクセスできますが、外部クラスからはアクセスできません。
Protected Internal (Visual Basic では Protected Friend)
サイズ ハンドルの付いた標準境界線 : コントロールのサイズを変更したり、コントロールを移動したりできます。このコントロールを宣言するクラス、親クラスから継承されたクラス、およびこのコントロールを含むアセンブリのその他のメンバから内部的にアクセスできます。
Internal (Visual Basic では Friend)
サイズ ハンドルのない標準の境界線 : フォームに表示され、各プロパティが [プロパティ] ウィンドウに表示されます。ただし、コントロールのすべての要素は、読み取り専用です。コントロールを移動またはサイズ変更したり、コントロールのプロパティを変更したりできません。グループ ボックスのように、コントロールがほかのコントロールのコンテナとして使用されている場合は、新規のコントロールを追加したり、既存のコントロールを削除したりできません。追加または削除するコントロールがパブリックな場合も同様です。コントロールには、それを含むアセンブリのほかのメンバだけがアクセスできます。
Private
サイズ ハンドルのない標準の境界線 : フォームに表示され、各プロパティが [プロパティ] ウィンドウに表示されます。ただし、コントロールのすべての要素は、読み取り専用です。コントロールを移動またはサイズ変更したり、コントロールのプロパティを変更したりできません。グループ ボックスのように、コントロールがほかのコントロールのコンテナとして使用されている場合は、新規のコントロールを追加したり、既存のコントロールを削除したりできません。追加または削除するコントロールがパブリックな場合も同様です。コントロールには、そのコントロールを宣言しているクラスからだけアクセスできます。
基本フォームの外観を変更する方法については、「基本フォームの外観を変更した場合の影響」を参照してください。
メモ : Windows フォーム上で、継承されたコントロールやコンポーネントを標準コントロールやコンポーネントと組み合わせると、z オーダーの競合が発生する場合があります。これは、z オーダーを変更することにより修正できます。z オーダーを変更するには、[書式] メニューの [順序] をポイントし、[最前面へ移動] または [最背面へ移動] をクリックします。コントロールの z オーダーの詳細については、「方法 : Windows フォーム上のオブジェクトをレイヤ化する」を参照してください。