次の方法で共有


IDesignerFilter インターフェイス

コンポーネント デザイナがデザイン時環境に対して公開できるプロパティ、属性、イベントの各記述子を格納する TypeDescriptor のディクショナリにデザイナがアクセスし、フィルタ処理を実行できるようにするインターフェイスを提供します。

この型のすべてのメンバの一覧については、IDesignerFilter メンバ を参照してください。

Public Interface IDesignerFilter
[C#]
public interface IDesignerFilter
[C++]
public __gc __interface IDesignerFilter
[JScript]
public interface IDesignerFilter

IDesignerFilter を実装するクラス

クラス 説明
ComponentDesigner コンポーネントのデザイン モードの動作を拡張するための基本デザイナ クラス。

解説

IDesignerFilter を使用すると、デザイナは、関連付けられているコンポーネントが TypeDescriptor を通じて公開する一連のプロパティ、属性、イベントの各記述子をフィルタ処理できるようになります。このインターフェイスのメソッドは、名前の先頭に Pre が付いていて、名前の先頭に Post が付いたメソッドの直前に呼び出されます。

属性、イベント、またはプロパティの各記述子を追加する場合は、 PreFilterAttributesPreFilterEvents 、または PreFilterProperties の各メソッドを使用します。

属性、イベント、またはプロパティの各記述子を変更または削除する場合は、 PostFilterAttributesPostFilterEvents 、または PostFilterProperties の各メソッドを使用します。

使用例

[Visual Basic, C#, C++] デザイン時にデザイナのコントロールが選択されたとき、デザイナのプロパティを [プロパティ] ウィンドウに追加する PreFilterProperties のオーバーライドの例を次に示します。 IDesignerFilter インターフェイスを使用した完全なデザイナの例については、 ControlDesigner クラスの例を参照してください。

 
' Adds a property to this designer's control at design time 
' that indicates the outline color to use.
Protected Overrides Sub PreFilterProperties(ByVal properties As System.Collections.IDictionary)
    properties.Add("OutlineColor", TypeDescriptor.CreateProperty(GetType(TestControlDesigner), "OutlineColor", GetType(System.Drawing.Color), Nothing))
End Sub 

[C#] 
// Adds a property to this designer's control at design time 
// that indicates the outline color to use.
protected override void PreFilterProperties(System.Collections.IDictionary properties)
{
    properties.Add("OutlineColor", TypeDescriptor.CreateProperty(typeof(ExampleControlDesigner), "OutlineColor", typeof(System.Drawing.Color), null));
}

[C++] 
protected:
    void PreFilterProperties(System::Collections::IDictionary* properties) {
        properties->Add(S"OutlineColor", TypeDescriptor::CreateProperty(__typeof(TestControlDesigner),
            S"OutlineColor", __typeof(System::Drawing::Color), 0));
    }

[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

名前空間: System.ComponentModel.Design

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ

アセンブリ: System (System.dll 内)

参照

IDesignerFilter メンバ | System.ComponentModel.Design 名前空間 | ITypeDescriptorFilterService | TypeDescriptor