Главная » C#, Компоненты » Что такое дизайнер

0

Для того чтобы компонент мог общаться с редактором свойств, формой, на которой он расположен, и другими компонентами, используются специальные классы, называемые дгнагшерами (designers). Клаусы дизайнеров расположены В пространствах имен Зул !_е.т. W i                             . iI7LS , Do.5 ; qv, я

System. ComponentModei. Design. Специальные классы для Web-ком попет о в расположены в пространстве имен System, w-ob.ui. Desiyn. по мы их пока трогать не будем.

Вот некоторые классы дизайнеров:

?  System. ComponentModei. Design. Component.Desigrierl

?  System.Windows. Forms. Design. Com:roiDesigner!

?  System. Windows . Forms . Desigr.. Pare::tCont tol Designor;

?  System.’Windows . Forms . Design . Scrol labl eCont го I i>"i_- igr.sr.

Базовым классом является класс Ccnico-en-Dosiqne;. Cl О 1-ШС.|СДНП(ч Cor.trciDesigner реализует дизайнеры для визуальных элементов управления. Следующий в иерархии класс parentConLroiCosiguer. который реализует дизайнер для элементов управления, имеющих дочерние компоненты, позволяя добавлять, удалять И выделять ИХ. Класс ScrollableControlDesigner является наследником класса ParentControlDesigner и реализует обработку сообщений wm_hscroll и wm_vscroll в режиме разработки.

Базовый класс ComponentDesigner позволяет реализовывать следующую функциональность режима разработки:

?   ActionLists позволяет реализовать смарт-теги (smart tags, см. разд. 6.4);

?   verbs позволяет создавать пользовательские контекстные меню (вызываемые по щелчку правой кнопки мыши, см. разд. 6.5);

?   DesignerFiler позволяет управлять списком свойств и событий в редакторе свойств (см. разд. 6.6);

?   Do Default Act ion позволяет реализовать собственное поведение по двойному щелчку мыши на компоненте. По умолчанию Visual Studio создает фрагмент кода для события по умолчанию (см. разд. 6.9);

?   Getservice позволяет получить доступ к сервисам режима разработки (design mode services, см. главу 7);

?   Associatedcomponents дает Доступ к списку компонентов, связанных с редактируемым;

?   Component представляет ссылку на редактируемый компонент.

Класс Control Designer дополняет список функциональности следующими в оз м ожн остя ми1:

?   Control представляет ссылку на редактируемый элемент управления;

?   SnapLines возвращает список линий привязок (см. разд. 6. 10);

?   SelectionRules позволяет управлять правилами изменения размера и положения компонента (рис. 2.3, см. разд. 6.16);

?   onMousexxx— набор методов onMouse позволяет задавать реакцию элемента управления на перемещение и нажатие кнопки мыши (см. разд. 6.9);

?   onDragxxx— набор методов onDrag позволяет элементу управления реагировать на операции перетаскивания;

?   Get Glyphs позволяет управлять слоями и маркерами (см. разд. 6.14);

?   GetHitTest позволяет задать области, в которых элемент управления должен реагировать на события мыши;

?   OnPaintAdornments позволяет производить дополнительную отрисовку элемента управления (см. разд. 6.8);

? WndProc позволяет напрямую обрабатывать очередь Windows-сообщений в

режиме разработки (см. разд. 6.12). Теперь каждый из этих пунктов мы разберем более подробно.

Литература:

Агуров П. В. C#. Разработка компонентов в MS Visual Studio 2005/2008. – СПб.: БХВ-Петербург, 2008. — 480 е.: ил.

По теме:

  • Комментарии