
- •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
Visual c#
// Создать представляющий элемент управления прямоугольник, заданный
// точкой верхнего левого угла и свойством Size.
Rectangle ControlRectangle = new
Rectangle(new PointfO, 0), this.Size);
// Создать новый объект LinearGradientBrush, определяющий переход
// между цветами ForeColor и ForeColorTwo с учетом заданного угла.
LinearGradientBrush myBrush = new
LinearGradientBrush(ControlRectangle,
ForeColor, ForeColorTwo, Angle);
// Создать объект GraphicsPath, хранящий отображаемый текст.
GraphicsPath myPath = new GraphicsPathO;
// Записать в объект GrapnicsPath строку, представляющую текущее врем?'.
myPath.AddString(System.DateTime.Now.ToLongTimeString(),
Font.FontFamily,
(int)Font.Style, Font.Size, new PointfO, 0),
StringFormat.GenericDefault);
// Показать Graphics,
pe.Graphics.FillPath(myBrush, myPath);
Теперь поместите код для создания нового пера из объекта LinearGradientBrush.
Прорисуйте этим пером прямоугольник, представляющий область элемента
управления. Для этого потребуется следующий код:
Visual Basic .Net
1 Создать из объекта myBrush перо толщиной 8 пикселов
Dim myPen As New Pen(my8riish, 8)
и нарисовать им прямоугольник, совпадающий с областью элемента управления,
ре.Graphics,DrawRectangle(rnyPen, ControlRectangle)
Framework Глава 7
Visual C#
// Создато из объекта myBrush перо толщиной 8 пикселов
Реп myPen = new Pen(myBrush, 8);
// и нарисовать им прямоугольник, совпадающий с областью элемента управления.
pe.Graphics.DrawRectangle(myPen, ControlRectangle):
6. Выберите в меню File команду Save All, чтобы сохранить проект.
Сейчас вы добавите в конструктор код, инициализирующий свойства элемента
управления. Кроме того, вы добавите компонент Timer и код для ежесекундной пе-
рерисовки часов и отображения интересного графического эффекта.
^ Настройка компонента Timer
1. В окне Solution Explorer щелкните правой кнопкой компонент PrettyClock к вы-
берите из контекстного меню команду View Designer — откроется окно дизайнера.
2. Перетащите компонент Timer с вкладки Windows Forms панели Toolbox на по-
верхность формы.
3. В окне Properties установите свойства Interval в 1000, а свойство Enabled ~ в true.
4. Дважды щелкните компонент Тшегв окне дизайнера, чтобы открыть обработ-
чик событий Timer.Tick, и добавьте к нему следующий код:
Visual Basic .NET
Этот кода изменяет вид графического эффекта при изменении значения Tick.
Angle += 10
Перерисовать элемент управления.
Me.Refresh()
Visual C#
// Этот кода изменяет вид графического зффекта при изменении значения Tick.
Angle +- 10;
// Перерисовать элемент управления.
this.Refresh();
5. В Visual C# необходимо добавить к конструктору элемента управления вызов
метода fnitializeComponent, инициализирующего свойства этого элемента управ-
ления:
Visual C#
public PrettyClockO
{
InitializeComponentO;
}
6. Сохраните проект, выбрав команду Save All в меню File.
Упражнение 2. Тестирование элемента управления
j * Создав элемент управления, необходимо удостовериться, что он работает
правильно. Сейчас вы добавите элемент управления на панель Toolbox и
поместите его на форму. Затем вы настроите вид элемента управления на
панели Toolbox и проверите его работу в период выполнения.
Практические рекомендации
> Как добавить элемент управления на панель Toolbox
1. Выполните компоновку решения, выбрав в меню Build команду Build Solution.
2. Щелкните правой кнопкой панель Toolbox и выберите из контекстного меню
команду Customize Toolbox — откроется одноименное диалоговое окно Customize
Toolbox.
3. Перейдите на вкладку .NET Framework Components и щелкните кнопку Browse,
чтобы открыть диалоговое окно Open File.
4. Откройте папку, в которой находится проект. В папке \bin (Visual Basic .NET)
или \bin\Debug (Visual C#) выберите файл ControlTest.exe (компилированный
файл элемента управления). Чтобы продолжить, щелкните ОК.
5. Убедитесь, что элемент управления PrettyClock указан в списке диалогового окна
Customize Toolbox и помечен флажком. Щелкните ОК.
** Как протестировать элемент управления
1. В окне Solution Explorer щелкните правой кнопкой форму Fortnl и выберите из
контекстного меню команду View Designer — эта форма откроется в окне дизай-
нера.
2. Перетащите элемент управления PrettyClock с панели Toolbox на форму — к фор-
ме добавится новый экземпляр этого элемента управления.
3. Установите для свойств нового экземпляра PrettyClock, перечисленных в табли-
це 7-8, необходимые значения.
Таблица 7-8. Свойства элемента управления PrettyClock
Свойство Значение
ForeColor Red
ForeColorTwo Yellow
Font.Size 40
Size 225, 50
Обратите внимание, что при модификации значений свойств изменения всту-
пают в силу немедленно и результаты сразу же отображаются на форме.
4. Убедитесь, что форма обновляется ежесекундно, изменяя вид цветового перехо-
да. Для этого нажмите.К5, чтобы запустить приложение. Заметьте, что в период
выполнения поведение элемента управления не изменилось,