Share via


DetailsViewDesigner.PreFilterProperties(IDictionary) メソッド

定義

Properties グリッドの表示に対してプロパティの削除または追加を実行したり、関連するコントロールのプロパティをシャドウしたりするために、デザイナーによって使用されます。

protected:
 override void PreFilterProperties(System::Collections::IDictionary ^ properties);
protected override void PreFilterProperties (System.Collections.IDictionary properties);
override this.PreFilterProperties : System.Collections.IDictionary -> unit
Protected Overrides Sub PreFilterProperties (properties As IDictionary)

パラメーター

properties
IDictionary

追加されたプロパティおよびシャドウ プロパティの IDictionary を実装するコレクション。

次のコード例は、 クラスからDetailsViewDesigner継承されたクラスの メソッドをオーバーライドPreFilterPropertiesして、デザイン時にコントロールのグリッドを変更Propertiesする方法をDetailsView示しています。 この例では、 プロパティを NamingContainer グリッドに Properties 表示します。

// Shadow the control properties with design-time properties.
protected override void PreFilterProperties(IDictionary properties)
{
    // Call the base method first.
    base.PreFilterProperties(properties);

    // Make the NamingContainer visible in the Properties grid.
    PropertyDescriptor selectProp = 
        (PropertyDescriptor)properties["NamingContainer"];
    properties["NamingContainer"] =
        TypeDescriptor.CreateProperty(selectProp.ComponentType, 
            selectProp, BrowsableAttribute.Yes);
} // PreFilterProperties
' Shadow the control properties with design-time properties.
Protected Overrides Sub PreFilterProperties( _
    ByVal properties As IDictionary)

    ' Call the base method first.
    MyBase.PreFilterProperties(properties)

    ' Make the NamingContainer visible in the Properties grid.
    Dim selectProp As PropertyDescriptor = _
        CType(properties("NamingContainer"), PropertyDescriptor)
    properties("NamingContainer") = _
        TypeDescriptor.CreateProperty(selectProp.ComponentType, _
            selectProp, BrowsableAttribute.Yes)
End Sub

注釈

コントロール デザイナーは、 メソッドから派生したメソッドを ComponentDesigner.PreFilterProperties 使用して、デザイナーが実装する対応するデザイン時プロパティを使用してさまざまなコントロール プロパティをシャドウし、グリッドにプロパティを追加したり、グリッドからプロパティを Properties 削除したりします。

コントロールの DetailsView 場合、 メソッドは PreFilterProperties 、コントロールが BrowsableAttribute テンプレート モードのときに、 プロパティの Fields オブジェクトを に false 設定します。 これにより、テンプレート モードの列をダイアログ ボックスを使用して Fields 削除できなくなります。

注意 (継承者)

デザイン時プロパティ コレクションの PreFilterProperties(IDictionary) プロパティにプロパティを追加したり、プロパティの属性を変更したりするには、 メソッドをオーバーライドします。 他の処理を実行する前に、必ず基本メソッドを呼び出してください。

適用対象

こちらもご覧ください