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

Visual c#

public class WowButton : System.Windows.Forms.Button

protected override void OnPaintfPaintEventArgs pe)

;

System. Drawing. Drawing2D.GraphicsPath niyPath = new

Занятие 2 Создание элементов управления ^25

System.Drawing.Drawing2D.GraphicsPath():

// Следующая команда устанавливает свойства FontFarriily л FontStyln

// элемента управления гак, чтобы объект GraphicsPath представлял

// контур^ строки символов размером 72 пункта. Учтите: в Си необходимо

// явно преобразовать значение Font.Style в целое число,

myPath.AddStringC'Wow!", Font.FontFamily, (int)Font.Style. 72.

new PointFfQ, 0), StringFormat.GenericDefaiilt):

// Создать на основе GraphicsPath новый объект Region.

Region rcyRegion = new Region(myPath);

// Поместить новый объект Region в одноименное свойство

// элемента управления.

this.Region ~ myRegion;

:

!

Заметьте; WowBulton — это не прямоугольная кнопка с прозрачным фоном, ото-

бражающая крупные буквы, она действительно имеет форму букв, составляющих

слово ≪Wow!≫. Чтобы ее щелкнуть, необходимо попасть в область, ограниченную

контуром букв. Сходным образом изменяют форму обычных элементов управле-

ния, чтобы получить элементы пользовательского интерфейса с нестандартным

видом.

Примечание Прорисовка некоторых элементов управления, таких, как Text Box, вы-

полняется не самим элементом управления, а формой, на которой он располагает-

ся. Такие элементы управления никогда не генерируют событие Paint, поэтому от-

вечающий за визуализацию код. помещенный в обработчик этого события, вызван

не будет.

> Создание производного элемента управления

1. Объявите новый класс элемента управления на основе существующего класса

элемента управления.

2. Реализуйте все необходимые нестандартные возможности и добавьте код, фор-

мирующий интерфейс производного элемента управления.

Создание составных элементов управления

Пользовательские, или составные, элементы управления объединяют нестандарт-

ные возможности с функциональностью стандартных элементов управления Windows

Forms, позволяя быстро создавать новые элементов управления. Пользователь-

ский элемент управления состоит из одного или нескольких стандартных элемен-

тов управления, объединенных в группу. Дизайнер UserControl предназначен для

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

также называемых вложенными. На рис. 7-1 показан дизайнер UserControl, в кото-

ром открыт составной элемент управления с парой вложенных кнопок и текстовым

полем.

12-786

326 Создание элементов управления с помощью .NET Framework Глава 7

iV:* I rotmi.rf IJMControU.cs |DegnI*

P *: . ' .' .:..;' ': . . П

6Ы10П1 Г ДехШок!

Рис. 7-1. Дизайнер UserControl

Разработчик может написать собственный код для обработки событий, генери-

руемых вложенными элементами управления. Предположим, что вам требуется со-

здать пользовательский элемент управления, который состоит из двух текстовых

полей и надписи. При изменении значений любого из текстовых полей этот эле-

мент управления должен автоматически складывать их и отображать сумму в над-

писи. Подобную функциональность удается реализовать, переопределив методы Ол-

KeyPress вложенных текстовых полей следующим образом: