次の方法で共有


Visual Basic でのコンポーネントの作成と使用

コンポーネントは、System.ComponentModel.IComponent インターフェイスを実装するクラス、またはIComponentを実装するクラスから直接または間接的に派生するクラスです。 .NET コンポーネントは、再利用可能なオブジェクトであり、他のオブジェクトと対話でき、外部リソースとデザイン時のサポートを制御できます。

コンポーネントの重要な機能は、コンポーネントがデザイン可能であるという点です。つまり、コンポーネントであるクラスを Visual Studio 統合開発環境で使用できます。 コンポーネントをツールボックスに追加したり、フォームにドラッグ アンド ドロップしたり、デザイン サーフェイスで操作したりできます。 .NET には、コンポーネントの基本設計時のサポートが組み込まれています。 コンポーネント開発者は、基本のデザイン時機能を利用するために追加の作業を行う必要はありません。

コントロールはコンポーネントに似ていますが、どちらもデザイン可能です。 ただし、コントロールはユーザー インターフェイスを提供しますが、コンポーネントは提供しません。 コントロールは、 Control または Controlのいずれかの基本コントロール クラスから派生する必要があります。

コンポーネントを作成するタイミング

クラスをデザイン サーフェイス (Windows フォームや Web フォーム デザイナーなど) で使用するが、ユーザー インターフェイスがない場合は、コンポーネントであり、 IComponentを実装するか、 IComponentを直接または間接的に実装するクラスから派生させる必要があります。

ComponentクラスとMarshalByValueComponent クラスは、IComponent インターフェイスの基本実装です。 これらのクラスの主な違いは、 Component クラスが参照によってマーシャリングされ、 IComponent が値によってマーシャリングされる点です。 実装者向けの広範なガイドラインを次の一覧に示します。

  • コンポーネントを参照によってマーシャリングする必要がある場合は、 Componentから派生します。

  • コンポーネントを値でマーシャリングする必要がある場合は、 MarshalByValueComponentから派生します。

  • コンポーネントが単一継承のために基本実装の 1 つから派生できない場合は、 IComponentを実装します。

コンポーネント クラス

System.ComponentModel名前空間は、コンポーネントとコントロールの実行時およびデザイン時の動作を実装するために使用されるクラスを提供します。 この名前空間には、属性と型コンバーターを実装するための基本クラスとインターフェイス、データ ソースへのバインド、およびライセンス コンポーネントが含まれています。

コア コンポーネント クラスは次のとおりです。

  • ComponentIComponent インターフェイスの基本実装。 このクラスを使用すると、アプリケーション間でオブジェクトを共有できます。

  • MarshalByValueComponentIComponent インターフェイスの基本実装。

  • ContainerIContainer インターフェイスの基本実装。 このクラスは、0 個以上のコンポーネントをカプセル化します。

コンポーネント ライセンスに使用されるクラスの一部は次のとおりです。

  • License。 すべてのライセンスの抽象基本クラス。 ライセンスは、コンポーネントの特定のインスタンスに付与されます。

  • LicenseManager。 コンポーネントにライセンスを追加し、 LicenseProviderを管理するためのプロパティとメソッドを提供します。

  • LicenseProvider。 ライセンス プロバイダーを実装するための抽象基本クラス。

  • LicenseProviderAttribute。 クラスで使用する LicenseProvider クラスを指定します。

コンポーネントの記述と永続化に一般的に使用されるクラス。

  • TypeDescriptor。 コンポーネントの属性、プロパティ、イベントなど、コンポーネントの特性に関する情報を提供します。

  • EventDescriptor。 イベントに関する情報を提供します。

  • PropertyDescriptor。 プロパティに関する情報を提供します。

コントロールとコンポーネントの作成のトラブルシューティング
一般的な問題を修正する方法について説明します。

こちらも参照ください