デザイン時サポートの拡張

.NET Framework には、デザイン モードでコンポーネントやコントロールの動作や表示をカスタマイズするための拡張性に優れたアーキテクチャが用意されています。このデザイン時サポート アーキテクチャによって、開発者はコンポーネントやコントロール用のカスタマイズしたデザイン時拡張機能を構築できます。開発者は、カスタム デザイン時動作、値構成インターフェイス、およびプロパティを初期化するためのコード生成を提供すると共に、デザイン時環境によって提供されるサービスを利用できます。

たとえば、コントロールにカスタム型のプロパティを定義する場合に、プロパティ ブラウザを使用してプロパティの値を編集するためのカスタム ユーザー インターフェイス、つまり型エディタを提供できます。デザイナと呼ばれるクラスを作成して、デザイン時にコンポーネントやコントロールの外観および動作のさまざまな部分を管理できます。

従来は、デザイン モードのコンポーネント用の特殊なロジックはフォーム デザイナでサポートされており、オブジェクトではなく、このフォーム デザイナがデザイン時機能を提供していました。たとえば ActiveX では、各ツールにそれぞれのフォーム デザイナがあり、これらのデザイナにはそれぞれ異なるユーザー インターフェイスと機能が備わっていました。製品の固定機能ではすべてのコントロールの要件に対応できないため、ActiveX コントロールには最小限のカスタム デザイン時サポートが備わっていました。

一方、.NET Framework のコンポーネントに対するデザイン時サポートは、Visual Studio などのデザイン ツールによってのみ定義されているわけではありません。.NET Framework の開発環境は、コンポーネントのデザイン時サポートを提供する、デザイナなどのクラスによってデザイン時の動作の拡張や定義をサポートしています。拡張およびカスタマイズができるデザイン モードの動作のサポートは、.NET Framework に統合されています。Visual Studio などのツールにも、デザイナで使用できるさまざまなデザイン時サービスが用意されています。

ここでは、コンポーネントとコントロールの開発者がデザイン時機能をコンポーネントへ追加するために役立つ情報とサンプルを紹介します。

ここで説明する多くのデザイン時システムは一般にコンポーネントに適用されますが、一部の機能は Web フォームまたは Windows フォームに固有の機能です。ASP.NET サーバー コントロールの表示機構は Windows フォーム コントロールの方法とは異なるため、ASP.NET Web フォームと Windows フォームのデザイン時機能にも違いがあります。ASP.NET サーバー コントロールは、HTML または他のマークアップ言語をクライアントに送信します。この言語は、クライアントのブラウザまたはその他の表示デバイスによって表示されます。それに対し、Windows フォーム コントロールでは、通常、GDI+ (新しい Windows グラフィックス ライブラリ) を使用して描画します。

このセクションの内容

  • 属性とデザイン時サポート
    カスタム属性を使用してデザイン時サポートを特定のコンポーネントまたはコントロールに関連付ける方法について説明します。
  • カスタム デザイナ
    デザイナの実装の背景となる主要概念について説明します。デザイナは、デザイン時におけるコンポーネントのビジュアル表示および動作を制御できるクラスです。

関連するセクション