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. |