Поделиться через


IDesignerFilter Интерфейс

Определение

Предоставляет интерфейс, позволяющий конструктору получать доступ и фильтровать словари класса TypeDescriptor, в которых хранятся дескрипторы свойств, атрибутов и событий, предоставляемые конструктором компонентов в среде режима разработки.

public interface class IDesignerFilter
public interface IDesignerFilter
type IDesignerFilter = interface
Public Interface IDesignerFilter
Производный

Примеры

В следующем примере показано переопределение PreFilterProperties , которое добавляет свойство конструктора в окно свойств при выборе элемента управления конструктора во время разработки. Полный пример конструктора ControlDesigner , использующего интерфейс , см. в IDesignerFilter примере для класса .

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

Комментарии

IDesignerFilter позволяет конструктору фильтровать набор дескрипторов свойств, атрибутов и событий, которые связанный TypeDescriptorс ним компонент предоставляет через . Методы этого интерфейса, имена которых начинаются с Pre , вызываются непосредственно перед методами, имена которых начинаются с Post.

Если вы хотите добавить дескрипторы атрибутов, событий или свойств, используйте PreFilterAttributesметод , PreFilterEventsили PreFilterProperties .

Если вы хотите изменить или удалить дескрипторы атрибутов, событий или свойств, используйте PostFilterAttributesметод , PostFilterEventsили PostFilterProperties .

Методы

PostFilterAttributes(IDictionary)

При переопределении в производном классе позволяет конструктору изменять или удалять элементы из набора атрибутов, предоставляемых через класс TypeDescriptor.

PostFilterEvents(IDictionary)

При переопределении в производном классе позволяет конструктору изменять или удалять элементы из набора событий, предоставляемых через класс TypeDescriptor.

PostFilterProperties(IDictionary)

При переопределении в производном классе позволяет конструктору изменять или удалять элементы из набора свойств, предоставляемых через класс TypeDescriptor.

PreFilterAttributes(IDictionary)

При переопределении в производном классе позволяет конструктору добавлять элементы в набор атрибутов, предоставляемых через класс TypeDescriptor.

PreFilterEvents(IDictionary)

При переопределении в производном классе позволяет конструктору добавлять элементы в набор событий, предоставляемых через класс TypeDescriptor.

PreFilterProperties(IDictionary)

При переопределении в производном классе позволяет конструктору добавлять элементы в набор свойств, предоставляемых через класс TypeDescriptor.

Применяется к

См. также раздел