次の方法で共有


方法 : ダイアログ ボックスを使用してフォームを継承する

フォームなどのオブジェクトを継承する最も簡単な方法は、[継承ピッカー] ダイアログ ボックスを使用する方法です。 継承ピッカーを使用すると、他のソリューションで作成したコードまたはユーザー インターフェイス (UI) を利用できます。

注意

[継承ピッカー] ダイアログ ボックスを使用してフォームを継承するには、継承元のフォームを含むプロジェクトを実行可能ファイルまたは DLL (Dynamic Link Library) の形式で作成しておく必要があります。 プロジェクトをビルドするには、[ビルド] メニューの [ソリューションのビルド] をクリックします。

実際に画面に表示されるダイアログ ボックスとメニュー コマンドは、アクティブな設定またはエディションによっては、ヘルプの説明と異なる場合があります。 設定を変更するには、[ツール] メニューの [設定のインポートとエクスポート] をクリックします。 詳細については、「設定の操作」を参照してください。

継承ピッカーを使用して、既存のフォームから継承した Windows フォームを作成するには

  1. [プロジェクト] メニューの [Windows フォームの追加] をクリックします。

    [新しい項目の追加] ダイアログ ボックスが表示されます。

  2. [継承されたフォーム] テンプレートを選択し、[ファイル名] ボックスで名前を付けます。 [追加] をクリックして次に進みます。

    [継承ピッカー] ダイアログ ボックスが表示されます。 現在のプロジェクトに既にフォームが含まれている場合、これらは [継承ピッカー] ダイアログ ボックスに表示されます。

  3. 別のアセンブリのフォームを継承するには、[参照] ボタンをクリックします。

  4. [継承元コンポーネントを含むファイルの選択...] ダイアログ ボックスで、目的のフォームまたはモジュールを含むプロジェクトに移動します。

  5. .exe または .dll ファイルの名前をクリックして選択し、[開く] をクリックします。

    [継承ピッカー] ダイアログ ボックスが再表示され、選択したコンポーネント、およびそれぞれのコンポーネントが格納されているプロジェクトが一覧表示されます。

  6. 目的のコンポーネントを選択します。

    ソリューション エクスプローラーで、選択したコンポーネントがプロジェクトに追加されます。 コンポーネントに UI が含まれている場合、継承先のフォームのコントロールは、グリフ (VisualBasicInheritanceSymbol スクリーンショット) で表示されます。それらのコントロールを選択すると、スーパークラス化されたフォームでのコントロールのセキュリティ レベルが、境界線によって示されます。 各セキュリティ レベルとそれに対応する動作は、次の表のとおりです。

    コントロールのセキュリティ レベル

    デザイナーまたはコード エディターで実行できる継承先のフォームとの対話

    Public

    サイズ ハンドルの付いた標準境界線 : コントロールのサイズを変更したり、コントロールを移動したりできます。 コントロールには、そのコントロールを宣言しているクラスから内部的にアクセスしたり、ほかのクラスから外部的にアクセスしたりできます。

    Protected

    サイズ ハンドルの付いた標準境界線 : コントロールのサイズを変更したり、コントロールを移動したりできます。 そのコントロールを宣言しているクラス、または親クラスから継承されたクラスからは内部的にアクセスできますが、外部クラスからはアクセスできません。

    Protected Internal (Visual Basic では Protected Friend)

    サイズ ハンドルの付いた標準境界線 : コントロールのサイズを変更したり、コントロールを移動したりできます。 このコントロールを宣言するクラス、親クラスから継承されたクラス、およびこのコントロールを含むアセンブリのその他のメンバーから内部的にアクセスできます。

    Internal (Visual Basic では Friend)

    サイズ ハンドルのない標準の境界線 : フォームに表示され、各プロパティが [プロパティ] ウィンドウに表示されます。 ただし、コントロールのすべての要素は、読み取り専用です。 コントロールを移動またはサイズ変更したり、コントロールのプロパティを変更したりできません。 グループ ボックスのように、コントロールがほかのコントロールのコンテナーとして使用されている場合は、新規のコントロールを追加したり、既存のコントロールを削除したりできません。追加または削除するコントロールがパブリックな場合も同様です。 コントロールには、それを含むアセンブリのほかのメンバーだけがアクセスできます。

    Private

    サイズ ハンドルのない標準の境界線 : フォームに表示され、各プロパティが [プロパティ] ウィンドウに表示されます。 ただし、コントロールのすべての要素は、読み取り専用です。 コントロールを移動またはサイズ変更したり、コントロールのプロパティを変更したりできません。 グループ ボックスのように、コントロールがほかのコントロールのコンテナーとして使用されている場合は、新規のコントロールを追加したり、既存のコントロールを削除したりできません。追加または削除するコントロールがパブリックな場合も同様です。 コントロールには、そのコントロールを宣言しているクラスからだけアクセスできます。

    基本フォームの外観を変更する方法については、「基本フォームの外観を変更した場合の影響」を参照してください。

    注意

    Windows フォーム上で、継承されたコントロールやコンポーネントを標準コントロールやコンポーネントと組み合わせると、z オーダーの競合が発生する場合があります。 これは、z オーダーを変更することにより修正できます。z オーダーを変更するには、[書式] メニューの [順序] をポイントし、[最前面へ移動] または [最背面へ移動] をクリックします。 コントロールの z オーダーの詳細については、「方法 : Windows フォーム上のオブジェクトをレイヤー化する」を参照してください。

参照

参照

[継承ピッカー] ダイアログ ボックス

Inherits ステートメント

using (C# リファレンス)

概念

基本フォームの外観を変更した場合の影響

その他の技術情報

Windows フォームのビジュアルの継承