- •Visual Basic .Net
- •Visual Basic .Net
- •Visual c#
- •314 Создание элементов управления с помощью .Net Framework Глава 7
- •Visual Basic .Net
- •Visual c#
- •Visual Basic .Net
- •Visual c#
- •Visual Basic .Net
- •Visual c#
- •Visual Basic .Net
- •Visual c#
- •Visual Basic .Net
- •Visual c#
- •Visual Basic .Net
- •Visual c#
- •Visual Basic .Net
- •Visual c#
- •Visual c#
- •Visual Basic .Net
- •Visual c#
- •Visual Basic .Net
- •Visual c#
- •Visual Basic .Net
- •Visual c#
- •Visual Basic .Net
- •Visual c#
- •Visual Basic .Net
- •Visual c#
- •Visual Basic .Net
- •Visual c#
- •Visual Basic .Net
- •Visual c#
- •Visual Basic .Net
- •Visual c#
- •Visual Basic .Net
- •Visual c#
- •Visual Basic .Net
- •Visual c#
- •Visual Basic .Net
- •2. В окне New Project выберите шаблон Windows Application, назовите новый про-
- •3. В меню Project выберите команду Add New Item — откроется одноименное диа-
- •4. В диалоговом окне Add New Item выберите Custom Control, назовите новый эле-
- •5. В окне Solution Explorer щелкните правой кнопкой элемент управления Pretty-
- •1. В окне редактора кода поместите в начало кода следующие операторы, импор-
- •Visual c#
- •Visual Basic .Net
Объекты Color, Brush и Pen
Объекты Color. Brush и Реп формируют облик графического элемента. Объект Brush
применяют для отображения закрашенных фигур, Реп — для отображения прямых
и дуг, а объект Color задает цвет фигуры.
Color
Структура Color располагается в пространстве имен System.Drawing и представляет
некоторый цвет. Каждый цвет определяется четырьмя значениями: Alpha, представ-
ляющим прозрачность, и тремя значениям Red, Green и Blue из диапазона 0-255.
Чтобы создать новый цвет, необходимо передать эти значения методу Color.From-
Argb:
Visual Basic .Net
Dim myColor As Color
nyColor - Color.FromArgb(123, 255, 12, 43)
Visual C#
Color ir.yColor;
nyColor = Color,FromArgb(128, 255, 12, 43);
Если вы не используете эффект прозрачности, параметр Alpha можно пропус-
тить, указав только значения Red, Green и Blue:
Visual Basic .NET
Visual C#
Применение GDI-f- 313
Кроме того, множество стандартных цветов доступно в .NET Framework в виде
именованных цветов:
Visual Basic .NET
Dim myColor As Color
myColor = Color.Tomato
Visual C#
Color myColor;
myColor = Color.Tomato;
Brush
Объект Brush представляет кисть и служит для рисования закрашенных фигур. Все
разновидности кистей являются потомками абстрактного класса Brush и позволяют
создавать закрашенные фигуры различного вида. Типы кистей и пространства имен,
в которых расположены соответствующие объекты, описаны в таблице 7-5.
Таблица 7-5. Типы кистей
Тип Пространство имен Описание
SolidBrush
TextureBrush
System. Drawing
System. Drawing
HatchBrush System. Drawing. Drawing2D
Linear Gradient Brush System. Drawing. Draw ing2D
Path Gradient Brush System.Drawing. Drawing2D
Сплошная одноцветная кисть
Кисть для заливки замкнутого контура
изображением
Кисть для узорной заливки
Кисть для заливки двухцветным
градиентом
Кисть, использующая сложную
градиентную запивку
Для создания объекта SolidBrush достаточно указать цвет, например:
Visual Basic .Net
Dim myBrush As New SolidBrushfColor.PapayaWhip)
Visual c#
SolidBrush myBrush - new SolidBrush(Color.PapayaWhip};
Конструкторы других кистей сложнее и требуют дополнительных параметров.
Например, для создания кисти типа TextureBrush необходим объект Image, а для
LinearGradientBrush — два цвета и ряд других параметров, в зависимости от типа
выбранного конструктора.
Реп
Объекты Реп представляют перья, они предназначены для рисования прямых и дуг,
а также для применения к контурным фигурам различных графических эффектов.
Существует только один класс Реп, и он является запечатанным (sealed). Создать
объект класса Реп несложно, достаточно указать его цвет:
314 Создание элементов управления с помощью .Net Framework Глава 7
Visual Basic .NET
Dim myPen As New Pen(Color.BlanchedAlmond)
Visual C#
Pen myPen = new Pen(Color.BlanchedAlmond);
В результате исполнения предыдущего кода создается перо, ширина которого
по умолчанию равна 1 пикселу. Ширину задают в конструкторе объекта Реп следу-
ющим образом;
Visual Basic .NET
Dim myPen As New Pen(Color.Lime, 4J
Visual C#
Pen rnyPen - new Pen(Color. Lirne, 4):
Этот код назначает ширину пера, равную четырем пикселам. Перо можно со-
здать и на основе имеющейся кисти, вид таких перьев будет согласован со стилем
интерфейса. Это особенно удобно при использовании сложных теней и других эф-
фектов. Следующий пример демонстрирует создание пера на основе имеющейся
кисти myBrush:
Visual Basic .NET
Dim myPen As New Pen(myBrush)
Visual C#
Pen rnyPen - new Pen{myBrush);
При создании пера на основе кисти также разрешается задавать ее ширину.
Системные кисти, перья и цвета
При разработке пользовательского интерфейса иногда нестандартные компоненты
приходится оформлять в том же стиле, что и системные. Для этого .NET Framework
предоставляет доступ к системным цветам через класс SystemColors, который содер-
жит набор статических членов, представляющих текущие системные цвета. Так, при
разработке нестандартных компонентов пользовательского интерфейса можно на-
значить им системные цвета, чтобы в период выполнения они отображались с ис-
пользованием текущей системной палитры. Получить доступ к системным цветам
можно так: