VS 05 - Атрибуты конструктора и конструктор компонентов. Как они связаны?

У меня был этот ответ на другой пост. Я спросил:

«Я считаю, что дизайнер VS делает это [компоненты полосы меню/полосы состояния], получая экземпляр конструктора элемента управления (см. атрибут Designer), и, если дизайнер является ComponentDesigner, получая свойство AssociatedComponents».

Как мне это сделать? Я даже не знаю, с чего начать...


person Miles    schedule 18.11.2008    source источник


Ответы (1)


Атрибут DesignerAttribute можно прикрепить к классу Control или Component в WinForms, чтобы указать класс, который реализует конструктор для визуального редактирования этого типа элемента управления или компонента. Например, класс Form имеет DesignerAttribute, указывающий, что класс с именем FormDocumentDesigner реализует свой конструктор.

Конструкторы позволяют применять специальное поведение во время разработки в конструкторе WinForms в Visual Studio, например, изменение размера столбца представления списка или маркеров размера элементов управления. Конструкторы, которые поддерживают добавление дочерних элементов управления к существующему элементу управления, например FormDocumentDesigner, в конечном итоге являются производными от ComponentDesigner.

Вы можете проверить это с помощью такого инструмента, как .NET Reflector.

person Jeff Yates    schedule 18.11.2008
comment
Если дизайнер находится в другой DLL, как установить дизайнерскую DLL в VS? - person Peter Morris; 13.01.2010
comment
Я ожидаю, что DLL дизайнера должна быть рядом с DLL, имеющей разрабатываемый тип, или, возможно, в GAC. - person Jeff Yates; 14.01.2010