﻿<?xml version="1.0" encoding="utf-8"?><Type Name="IDesignerFilter" FullName="System.ComponentModel.Design.IDesignerFilter"><TypeSignature Language="C#" Maintainer="auto" Value="public interface IDesignerFilter" /><TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract IDesignerFilter" /><AssemblyInfo><AssemblyName>System</AssemblyName><AssemblyPublicKey>[00 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00]</AssemblyPublicKey><AssemblyVersion>1.0.3300.0</AssemblyVersion><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the &lt;link location="node:gtk-sharp/programming/threads"&gt;Gtk# Thread Programming&lt;/link&gt; for details.</ThreadSafetyStatement><Interfaces /><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para><see cref="T:System.ComponentModel.Design.IDesignerFilter" /> enables a designer to filter the set of property, attribute, and event descriptors that its associated component exposes through a <see cref="T:System.ComponentModel.TypeDescriptor" />. The methods of this interface whose names begin with Pre are called immediately before the methods whose names begin with Post.</para><para>If you want to add attribute, event, or property descriptors, use a <see cref="M:System.ComponentModel.Design.IDesignerFilter.PreFilterAttributes(System.Collections.IDictionary)" />, <see cref="M:System.ComponentModel.Design.IDesignerFilter.PreFilterEvents(System.Collections.IDictionary)" />, or <see cref="M:System.ComponentModel.Design.IDesignerFilter.PreFilterProperties(System.Collections.IDictionary)" /> method.</para><para>If you want to change or remove attribute, event, or property descriptors, use a <see cref="M:System.ComponentModel.Design.IDesignerFilter.PostFilterAttributes(System.Collections.IDictionary)" />, <see cref="M:System.ComponentModel.Design.IDesignerFilter.PostFilterEvents(System.Collections.IDictionary)" />, or <see cref="M:System.ComponentModel.Design.IDesignerFilter.PostFilterProperties(System.Collections.IDictionary)" /> method.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Provides an interface that enables a designer to access and filter the dictionaries of a <see cref="T:System.ComponentModel.TypeDescriptor" /> that stores the property, attribute, and event descriptors that a component designer can expose to the design-time environment.</para></summary></Docs><Members><Member MemberName="PostFilterAttributes"><MemberSignature Language="C#" Value="public void PostFilterAttributes (System.Collections.IDictionary attributes);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void PostFilterAttributes(class System.Collections.IDictionary attributes) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters><Parameter Name="attributes" Type="System.Collections.IDictionary" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>This method provides a way to change or remove items within the dictionary of attributes that the associated component of the designer implementing this interface exposes through a <see cref="T:System.ComponentModel.TypeDescriptor" />.</para><para>The keys in the dictionary of attributes are the type IDs of the attributes. The objects are of type <see cref="T:System.Attribute" />. This method is called immediately after <see cref="M:System.ComponentModel.Design.IDesignerFilter.PreFilterAttributes(System.Collections.IDictionary)" />.</para><para>The type ID of an attribute can be any object. By default, <see cref="T:System.Attribute" /> returns its <see cref="T:System.Type" /> as the value of its <see cref="P:System.Attribute.TypeId" /> property. You can check the <see cref="P:System.Attribute.TypeId" /> of an attribute in the dictionary for equivalence with a known <see cref="P:System.Attribute.TypeId" /> for an attribute to identify it, or use <see cref="N:System.Reflection" /> to identify the attribute object itself.</para><para>When an attribute that has the same <see cref="P:System.Attribute.TypeId" /> as an existing or inherited attribute is added to a component, the new attribute replaces the old attribute. For many attributes, a new attribute of the same type will replace any previous attribute of the type. However, some types of attributes return a <see cref="P:System.Attribute.TypeId" /> that distinguishes the attribute selectively. For example, in order to provide different types of simultaneously active designers for a type, such as an <see cref="T:System.ComponentModel.Design.IRootDesigner" /> and an <see cref="T:System.ComponentModel.Design.IDesigner" />, the <see cref="T:System.ComponentModel.DesignerAttribute" /> class returns a <see cref="P:System.Attribute.TypeId" /> that uniquely identifies both the attribute and the base designer type. The <see cref="T:System.ComponentModel.DesignerAttribute" /> constructor allows you to specify the base designer type of the designer in addition to its specific type, and <see cref="T:System.ComponentModel.DesignerAttribute" /> returns a <see cref="P:System.Attribute.TypeId" /> that reflects this. Therefore when you add a new <see cref="T:System.ComponentModel.DesignerAttribute" /> with a base designer type of the same type as the base designer type of an existing <see cref="T:System.ComponentModel.DesignerAttribute" />, the old attribute is replaced with the new attribute.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>When overridden in a derived class, allows a designer to change or remove items from the set of attributes that it exposes through a <see cref="T:System.ComponentModel.TypeDescriptor" />.</para></summary><param name="attributes"><attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.Attribute" /> objects for the class of the component. The keys in the dictionary of attributes are the <see cref="P:System.Attribute.TypeId" /> values of the attributes. </param></Docs></Member><Member MemberName="PostFilterEvents"><MemberSignature Language="C#" Value="public void PostFilterEvents (System.Collections.IDictionary events);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void PostFilterEvents(class System.Collections.IDictionary events) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters><Parameter Name="events" Type="System.Collections.IDictionary" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>This method provides a way to change or remove items within the dictionary of events that are exposed through a <see cref="T:System.ComponentModel.TypeDescriptor" />.</para><para>The keys in the dictionary of events are the names of the events. The objects are of type <see cref="T:System.ComponentModel.EventDescriptor" />. This method is called immediately after <see cref="M:System.ComponentModel.Design.IDesignerFilter.PreFilterEvents(System.Collections.IDictionary)" />.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>When overridden in a derived class, allows a designer to change or remove items from the set of events that it exposes through a <see cref="T:System.ComponentModel.TypeDescriptor" />.</para></summary><param name="events"><attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.ComponentModel.EventDescriptor" /> objects that represent the events of the class of the component. The keys in the dictionary of events are event names. </param></Docs></Member><Member MemberName="PostFilterProperties"><MemberSignature Language="C#" Value="public void PostFilterProperties (System.Collections.IDictionary properties);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void PostFilterProperties(class System.Collections.IDictionary properties) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters><Parameter Name="properties" Type="System.Collections.IDictionary" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>This method provides a way to change or remove items within the dictionary of properties that are exposed through a <see cref="T:System.ComponentModel.TypeDescriptor" />.</para><para>The keys in the dictionary of properties are the names of the properties. The objects are of type <see cref="T:System.ComponentModel.PropertyDescriptor" />. This method is called immediately after <see cref="M:System.ComponentModel.Design.IDesignerFilter.PreFilterProperties(System.Collections.IDictionary)" />.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>When overridden in a derived class, allows a designer to change or remove items from the set of properties that it exposes through a <see cref="T:System.ComponentModel.TypeDescriptor" />.</para></summary><param name="properties"><attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.ComponentModel.PropertyDescriptor" /> objects that represent the properties of the class of the component. The keys in the dictionary of properties are property names. </param></Docs></Member><Member MemberName="PreFilterAttributes"><MemberSignature Language="C#" Value="public void PreFilterAttributes (System.Collections.IDictionary attributes);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void PreFilterAttributes(class System.Collections.IDictionary attributes) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters><Parameter Name="attributes" Type="System.Collections.IDictionary" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>This method provides a way to add items to the dictionary of attributes that the associated component of the designer implementing this interface exposes through a <see cref="T:System.ComponentModel.TypeDescriptor" />.</para><para>The keys in the dictionary of attributes are the type IDs of the attributes. The objects are of type <see cref="T:System.Attribute" />. This method is called immediately before <see cref="M:System.ComponentModel.Design.IDesignerFilter.PostFilterAttributes(System.Collections.IDictionary)" />.</para><para>The type ID of an attribute can be any object. By default, <see cref="T:System.Attribute" /> returns its <see cref="T:System.Type" /> as the value of its <see cref="P:System.Attribute.TypeId" /> property. You can check the <see cref="P:System.Attribute.TypeId" /> of an attribute in the dictionary for equivalence with a known <see cref="P:System.Attribute.TypeId" /> for an attribute to identify it, or use <see cref="N:System.Reflection" /> to identify the attribute object itself.</para><para>When an attribute that has the same <see cref="P:System.Attribute.TypeId" /> as an existing or inherited attribute is added to a component, the new attribute replaces the old attribute. For many attributes, a new attribute of the same type will replace any previous attribute of the type. However, some types of attributes return a <see cref="P:System.Attribute.TypeId" /> that distinguishes the attribute selectively. For example, in order to provide different types of simultaneously active designers for a type, such as an <see cref="T:System.ComponentModel.Design.IRootDesigner" /> and an <see cref="T:System.ComponentModel.Design.IDesigner" />, the <see cref="T:System.ComponentModel.DesignerAttribute" /> class returns a <see cref="P:System.Attribute.TypeId" /> that uniquely identifies both the attribute and the base designer type. The <see cref="T:System.ComponentModel.DesignerAttribute" /> constructor allows you to specify the base designer type of the designer in addition to its specific type, and <see cref="T:System.ComponentModel.DesignerAttribute" /> returns a <see cref="P:System.Attribute.TypeId" /> that reflects this. Therefore when you add a new <see cref="T:System.ComponentModel.DesignerAttribute" /> with a base designer type of the same type as the base designer type of an existing <see cref="T:System.ComponentModel.DesignerAttribute" />, the old attribute is replaced with the new attribute.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>When overridden in a derived class, allows a designer to add items to the set of attributes that it exposes through a <see cref="T:System.ComponentModel.TypeDescriptor" />.</para></summary><param name="attributes"><attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.Attribute" /> objects for the class of the component. The keys in the dictionary of attributes are the <see cref="P:System.Attribute.TypeId" /> values of the attributes. </param></Docs></Member><Member MemberName="PreFilterEvents"><MemberSignature Language="C#" Value="public void PreFilterEvents (System.Collections.IDictionary events);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void PreFilterEvents(class System.Collections.IDictionary events) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters><Parameter Name="events" Type="System.Collections.IDictionary" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>This method provides a way to add items to the dictionary of events that a designer exposes through a <see cref="T:System.ComponentModel.TypeDescriptor" />.</para><para>The keys in the dictionary of events are the names of the events. The objects are of type <see cref="T:System.ComponentModel.EventDescriptor" />. This method is called immediately before <see cref="M:System.ComponentModel.Design.IDesignerFilter.PostFilterEvents(System.Collections.IDictionary)" />.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>When overridden in a derived class, allows a designer to add items to the set of events that it exposes through a <see cref="T:System.ComponentModel.TypeDescriptor" />.</para></summary><param name="events"><attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.ComponentModel.EventDescriptor" /> objects that represent the events of the class of the component. The keys in the dictionary of events are event names. </param></Docs></Member><Member MemberName="PreFilterProperties"><MemberSignature Language="C#" Value="public void PreFilterProperties (System.Collections.IDictionary properties);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void PreFilterProperties(class System.Collections.IDictionary properties) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters><Parameter Name="properties" Type="System.Collections.IDictionary" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>This method provides a way to add items to the dictionary of properties that a designer exposes through a <see cref="T:System.ComponentModel.TypeDescriptor" />.</para><para>The keys in the dictionary of properties are the names of the properties. The objects are of type <see cref="T:System.ComponentModel.PropertyDescriptor" />. This method is called immediately before <see cref="M:System.ComponentModel.Design.IDesignerFilter.PostFilterProperties(System.Collections.IDictionary)" />.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>When overridden in a derived class, allows a designer to add items to the set of properties that it exposes through a <see cref="T:System.ComponentModel.TypeDescriptor" />.</para></summary><param name="properties"><attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.ComponentModel.PropertyDescriptor" /> objects that represent the properties of the class of the component. The keys in the dictionary of properties are property names. </param></Docs></Member></Members></Type>