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

0

Сервис iDesigneroptionService предоставляет доступ к параметрам дизайнера. В ручном режиме этн параметры доступны через меню Tools | Options |

Сервис имеет всего два метода:

?     метод object GetOptionValue(string pageName, string valueName) позволяет прочить значение выбранного параметра;

?     метод void SetOptionValue (string pageName, string valueName, object value) позволяет установить значение выбранного параметра.

Параметр pageName задает имя страницы диалога параметров в виде строки WindowsFormsDesignerWGeneral, а параметр valueName— ИМЯ самого параметра. Возвращаемый тип зависит от параметра (табл. 7.1). Вот как, например, выглядит чтение параметров Gridsize и showGrid:

IDesignerOptionService designerOptionService =

(IDesignerOptionService)this.GetService(

typeof(IDesignerOptionService)); Size size = (Size)designerOptionService.GetOptionValue(

"WindowsFormsDesignerWGeneral", "GridSize") ; bool showGrid = (bool)designerOptionService.GetOptionValue( "WindowsFormsDesignerWGeneral", "ShowGrid") ;

Windows Forms Designer (рис. 7.3), а сервис позволяет читать и устанавливать их программным путем.

Рис. 7.3. Диалог параметров дизайнера

Аналогично выполняется и установка параметров.

Таблица 7.1. Имена и типы параметров дизайнера

Имя параметра

Тип

Описание

GridSize

Size

Размер сетки дизайнера

GridSize. Width

Int32

Высота сетки дизайнера (только чтение)

GridSize.Height

Int32

Ширина сетки дизайнера (только чтение)

ShowGrid

Boolean

True, если сетка отображается

SnapToGrid

Boolean

True, если компоненты выравниваются по сетке

LayoutMode

Microsoft.VisualStudio. Windows.Forms.LayoutMode

Метод выравнивания компонентов

Ob jectBoundSma rt Та gAutoSho w

Boolean

True, если разрешается показывать смарт-теги автоматически

AutoToolboxPopulate

Boolean

True, если компоненты добавляются в палитру компонентов автоматически

DseOpt imi zedCodeGenerat ion

Boolean

True, если кэширование компонентов включено

Класс DesignerOptionservice реализует этот интерфейс и предоставляет методы для обращения к параметрам по имени:

DesignerOptionService designerOptionService =

(DesignerOptionServi.ce) this .GetService (

typeof(IDesignerOptionService));

Size size = (Size)

designerOptionService.options["WindowsFormsDesigner"].

Properties["GridSize"].GetValue{Component);

Класс windowsFormsDesignerOptionService предоставляет типизированные по- лл тех же параметров:

KindowsFormsDesignerOptionService ws =

new WindowsFormsDesignerOptionService(); Size size = ws.CompatibilityOptions.GridSize;

Этот сервис используется довольно редко, но знать про него полезно.

Литература:

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

По теме:

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