Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лр3_Компоненты.doc
Скачиваний:
3
Добавлен:
01.09.2019
Размер:
761.86 Кб
Скачать

1. Теоретическая часть.

В основе программирования с применением Windows Forms лежит использование элементов управления. Они инкапсулируют отдельные функции приложения и являются их графическим представлением для пользователя. Технология .NET предоставляет в распоряжение разработчика ряд инструментов и методов для создания собственных элементов управления.

Элементы управления .NET Framework — это специализированные классы, которые содержат код, формирующий их графический интерфейс. Существует несколько источников элементов управления, применяемых в приложениях. Во-первых, это стандартные элементы управления Visual Studio .NET, разработанные Microsoft. Они обеспечивают широкие возможности и позволяют разрабатывать клиентские приложения с богатой функциональностью. Во-вторых, в приложениях допустимо применять элементы управления от сторонних разработчиков, а также существующие элементы управления ActiveX. Элементы управления от сторонних разработчиков поддерживают возможности, отсутствующие у стандартных компонентов из .NET Framework. Наконец, если функции, необходимые вашему приложению, не реализованы ни в стандартных элементах управления .NET Framework, ни в элементах управления сторонних разработчиков, разрешается создавать собственные элементы управления.

1.1. Общая архитектура компонент.

Компоненты имеют две стороны жизни = во время разработки формы в Visual Studio (design time) и во время выполнения готовой программы (run-time).

Основные положения компонентной модели заключаются в следующем:

  • Управление поведением и видом компонент производится с помощью свойств;

  • Каждое свойство компоненты имеет определенный тип;

  • Для взаимодействия со своим внешним окружением компонент имеет события;

  • Редактирование свойств и событий производится с помощью редактора свойств.

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

Кроме того, с помощью атрибутов к типу или свойству привязываются дизайнер, конвертер типа и редактор типа. Дизайнер позволяет управлять набором свойств компоненты и его поведением в режиме разработки, создавать пользовательские меню, управляющие команды (теги) и многое другое. Конвертер типа обеспечивает преобразование пользовательского типа в тип, который понятен редактору свойств. Редактор типа позволяет отображать пользовательские диалоги для редактирования свойств компоненты.

Рис.1. Архитектура времени разработки.

Дизайнеры могут использовать сервисы времени разработки, предоставляемые средой Visual Studio, которые предоставляют компоненте информацию о происходящих событиях, изменениях других свойств и компонентов и т.д. Кроме того, дизайнеры, конвертеры типов и редакторы типов могут использовать редакторы свойств, а дизайнеры также могут использовать дизайнеры форм. Также, конвертеры типов и редакторы типов могут применяться как в режиме разработки, так и во время выполнения, а дизайнеры работают только во время разработки.