Compartilhar via


IDesignerFilter Interface

Definição

Fornece uma interface que permite que um designer acesse e filtre os dicionários de um TypeDescriptor que armazena os descritores de evento, atributo e propriedade que um componente de designer pode expor para o ambiente em tempo de design.

public interface class IDesignerFilter
public interface IDesignerFilter
type IDesignerFilter = interface
Public Interface IDesignerFilter
Derivado

Exemplos

O exemplo a seguir demonstra uma substituição de PreFilterProperties que adiciona uma propriedade do designer à janela Propriedades quando o controle do designer é selecionado em tempo de design. Consulte o exemplo da ControlDesigner classe para obter um exemplo de designer completo que usa a IDesignerFilter interface .

protected:
   [ReflectionPermission(SecurityAction::Demand, Flags=ReflectionPermissionFlag::MemberAccess)]
   virtual void PreFilterProperties( System::Collections::IDictionary^ properties ) override
   {
      properties->Add( "OutlineColor", TypeDescriptor::CreateProperty( TestControlDesigner::typeid, "OutlineColor", System::Drawing::Color::typeid, nullptr ) );
   }
// Adds a property to this designer's control at design time 
// that indicates the outline color to use. 
// The DesignOnlyAttribute ensures that the OutlineColor
// property is not serialized by the designer.
protected override void PreFilterProperties(System.Collections.IDictionary properties)
{
    PropertyDescriptor pd = TypeDescriptor.CreateProperty(
        typeof(ExampleControlDesigner), 
        "OutlineColor",
        typeof(System.Drawing.Color),
        new Attribute[] { new DesignOnlyAttribute(true) });

    properties.Add("OutlineColor", pd);
}
' Adds a property to this designer's control at design time 
' that indicates the outline color to use.
' The DesignOnlyAttribute ensures that the OutlineColor
' property is not serialized by the designer.
Protected Overrides Sub PreFilterProperties(ByVal properties As System.Collections.IDictionary)
    Dim pd As PropertyDescriptor = TypeDescriptor.CreateProperty( _
    GetType(ExampleControlDesigner), _
    "OutlineColor", _
    GetType(System.Drawing.Color), _
    New Attribute() {New DesignOnlyAttribute(True)})

    properties.Add("OutlineColor", pd)
End Sub

Comentários

IDesignerFilter permite que um designer filtre o conjunto de descritores de propriedade, atributo e evento que seu componente associado expõe por meio de um TypeDescriptor. Os métodos dessa interface cujos nomes começam com Pre são chamados imediatamente antes dos métodos cujos nomes começam com Post.

Se você quiser adicionar descritores de atributo, evento ou propriedade, use um PreFilterAttributesmétodo , PreFilterEventsou PreFilterProperties .

Se você quiser alterar ou remover descritores de atributo, evento ou propriedade, use um PostFilterAttributesmétodo , PostFilterEventsou PostFilterProperties .

Métodos

PostFilterAttributes(IDictionary)

Quando substituído em uma classe derivada, permite que um designer altere ou remova itens do conjunto de atributos que ele expõe por meio de um TypeDescriptor.

PostFilterEvents(IDictionary)

Quando substituído em uma classe derivada, permite que um designer altere ou remova itens do conjunto de eventos que ele expõe por meio de um TypeDescriptor.

PostFilterProperties(IDictionary)

Quando substituído em uma classe derivada, permite que um designer altere ou remova itens do conjunto de propriedades que ele expõe por meio de um TypeDescriptor.

PreFilterAttributes(IDictionary)

Quando substituído em uma classe derivada, permite que um designer adicione itens ao conjunto de atributos que ele expõe por meio de um TypeDescriptor.

PreFilterEvents(IDictionary)

Quando substituído em uma classe derivada, permite que um designer adicione itens ao conjunto de eventos que ele expõe por meio de um TypeDescriptor.

PreFilterProperties(IDictionary)

Quando substituído em uma classe derivada, permite que um designer adicione itens ao conjunto de propriedades que ele expõe por meio de um TypeDescriptor.

Aplica-se a

Confira também