Condividi tramite


IDesignerFilter Interfaccia

Definizione

Fornisce un'interfaccia che permette a una finestra di progettazione di accedere e filtrare i dizionari di un oggetto TypeDescriptor che memorizza i descrittori delle proprietà, degli attributi e degli eventi che una finestra di progettazione dei componenti può esporre all'ambiente in fase di progettazione.

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

Esempio

Nell'esempio seguente viene illustrato un override di che aggiunge una proprietà della finestra di PreFilterProperties progettazione al Finestra Proprietà quando il controllo della finestra di progettazione viene selezionato in fase di progettazione. Vedere l'esempio per la classe per un esempio completo della finestra di progettazione che usa l'interfaccia ControlDesignerIDesignerFilter .

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

Commenti

IDesignerFilter consente a una finestra di progettazione di filtrare il set di descrittori di proprietà, attributo ed evento che il relativo componente associato espone tramite un TypeDescriptoroggetto . I metodi di questa interfaccia i cui nomi iniziano con Pre vengono chiamati immediatamente prima dei metodi i cui nomi iniziano con Post.

Se si desidera aggiungere attributi, eventi o descrittori di proprietà, usare un PreFilterAttributesmetodo , PreFilterEventso PreFilterProperties .

Se si desidera modificare o rimuovere attributi, eventi o descrittori di proprietà, usare un PostFilterAttributesmetodo , PostFilterEventso PostFilterProperties .

Metodi

PostFilterAttributes(IDictionary)

Quando viene sottoposto a override in una classe derivata, consente di modificare o rimuovere, mediante una finestra di progettazione, elementi dell'insieme di attributi esposti tramite un oggetto TypeDescriptor.

PostFilterEvents(IDictionary)

Quando viene sottoposto a override in una classe derivata, consente a una finestra di progettazione di modificare o rimuovere elementi dall'insieme degli eventi esposti tramite un oggetto TypeDescriptor.

PostFilterProperties(IDictionary)

Quando viene sottoposto a override in una classe derivata, consente a una finestra di progettazione di modificare o rimuovere elementi nell'insieme delle proprietà esposte tramite un oggetto TypeDescriptor.

PreFilterAttributes(IDictionary)

Quando viene sottoposto a override in una classe derivata, consente di aggiungere, mediante una finestra di progettazione, elementi all'insieme di attributi esposti tramite un oggetto TypeDescriptor.

PreFilterEvents(IDictionary)

Quando viene sottoposto a override in una classe derivata, consente di aggiungere elementi, mediante la finestra di progettazione, all'insieme di eventi esposti tramite un oggetto TypeDescriptor.

PreFilterProperties(IDictionary)

Quando viene sottoposto a override in una classe derivata, consente di aggiungere elementi, mediante la finestra di progettazione, all'insieme di proprietà esposte tramite un oggetto TypeDescriptor.

Si applica a

Vedi anche