.NET Framework 2.0 のデザイン時サポートの新機能

.NET Framework 2.0 は、新機能の追加、既存機能の改良、デザイン時開発の強化によって .NET Framework 1.1 を拡張しています。 このトピックでは、新しいデザイン機能について簡単に説明します。

ツールボックスの改良

Visual Studio の [ツールボックス] では、コンポーネントおよびコントロールがカテゴリ別に整理されるようになりました。 また、プロジェクトのコンポーネントおよびコントロールが自動的に設定されます。  

DesignerAction のサポート

DesignerAction 機能により、コンポーネントおよびコントロールは状況依存の情報およびコマンドを表示できます。 DesignerAction 機能は、デザイナーの動詞に代わるものと考えられます。DesignerActionItem はスマート タグ パネルに表示することも、コンポーネントまたはコントロールに関連付けられているショートカット メニューに表示することもできるからです。 DesignerActionList クラスは、スマート タグ サポートをカスタム コンポーネントおよびコントロールに追加しようとする開発者にとって、作業の中心です。 詳細については、「方法 : Windows フォーム コンポーネントにスマート タグを追加する」を参照してください。

Windows フォームのデザイナー レイアウトの支援

ランタイムおよびデザイン環境で使用できるレイアウト サポートが向上しました。

デザイン環境

Windows フォーム コントロールは、スナップ線をサポートしています。これにより、フォーム上にコントロールを簡単に配置できます。 SnapLine クラスを使用すると、スナップ線を使ってカスタム コントロールを拡張するように実装できます。

詳細については チュートリアル : スナップ線を使用した Windows フォーム上のコントロールの配置 および チュートリアル : スナップ線を使用した Windows フォーム上のコントロールの配置 および チュートリアル : スナップ線を使用した Windows フォーム上のコントロールの配置 および チュートリアル : スナップ線を使用した Windows フォーム上のコントロールの配置..

実行時

TableLayoutPanelFlowLayoutPanel は、新しい 2 つの Windows フォーム コントロールです。これらにより、縦横比を維持したままのサイズ変更や動的なレイアウト機能を必要とするシナリオに対応できます。 詳細については、「TableLayoutPanel コントロール (Windows フォーム)」および「FlowLayoutPanel コントロール (Windows フォーム)」を参照してください。

Control.LayoutEngine プロパティおよび LayoutEngine クラスを使用すると、独自のカスタム レイアウトの動作を実装できます。 詳細については、「方法 : カスタム レイアウト エンジンを実装する」を参照してください。

既定のインターフェイスの実装

デザイナーのインフラストラクチャを指定する多くのインターフェイスに、拡張可能な既定の実装が用意されました。 次の表は、基本クラスと対応する既定の実装の一覧を示しています。

[基本クラス]

実装

BasicDesignerLoader

IDesignerLoaderService

CodeDomDesignerLoader

IDesignerSerializationService

CustomTypeDescriptor

ICustomTypeDescriptor

DesignerSerializationManager

IDesignerSerializationManager

NestedContainer

INestedContainer

ToolboxService

IToolboxService

デザイナーの基本クラスの実装

次の表は、使用および拡張できるようになったデザイナー インフラストラクチャを実装するクラスを示しています。

基本クラス

説明

CodeDomSerializerBase

CodeDomSerializer の各クラスの基本クラスを提供します。

ComponentSerializationService

一連のコンポーネントまたはシリアル化可能なオブジェクトをシリアル化ストアにシリアル化します。

ContainerFilterService

コンテナー フィルター サービスの基本クラスを提供します。

TypeDescriptionProvider

追加のメタデータを TypeDescriptor に提供します。

デザイナー サービス

デザイナー インフラストラクチャは、デザイン サービスの拡張セットを提供して、顧客向けの充実したデザインの構築を支援します。 詳細については、「デザイン時アーキテクチャ」を参照してください。

Windows フォームのデザイナーの外観および動作のファクタリング

以前のバージョンの .NET Framework では、カスタム Windows フォーム デザイナーにマウス処理およびキーボード処理のすべてのロジックが含まれていました。 新しい GlyphBehavior、および Adorner クラスを使用すると、外観および動作コードを専用のカスタム タイプにリファクタリングできます。 詳細については、「方法 : デザイン モードでコントロールの外観と動作を拡張する」を参照してください。

TypeDescriptor の拡張

TypeDescriptionProvider クラスは、TypeDescriptor クラスの機能拡張を実装します。 これにより、インスタンスの置換、メタデータの置換、属性のリダイレクト、ターゲットの置換とシャドウなど、多数の高度なシナリオが可能になります。

詳細については、「型記述子の概要」を参照してください。

汎用の元に戻す/やり直しのサポート

UndoEngine クラスは、コンポーネントのプロパティ値の変更に対して、汎用の元に戻す/やり直しのサポートを提供します。 DesignerTransaction クラスを使用すると、コミットまたはロールバックできる独立した作業単位をトランザクション処理できます。 コンポーネントに一連の変更を加え、それらを一度に反映または取り消すことができます。

コード例

Windows Software Development Kit (SDK) で、カスタム デザイナーの開発方法を示すコード例が増えました。 詳細については、「コンポーネントを使用したプログラミングの方法とチュートリアルのトピック」および「デザイン時サポートの拡張に関する方法およびチュートリアルのトピック」を参照してください。

Topic Location
デザイン時の Windows フォーム コントロールの開発 Windows フォーム コントロール
デザイン時の Windows フォーム コントロールの開発 Windows フォーム コントロール
デザイン時の Windows フォーム コントロールの開発 Windows フォーム コントロール
デザイン時の Windows フォーム コントロールの開発 dv_mclictl

参照

その他の技術情報

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

カスタム デザイナー