* При перепечатке материалов ссылка на www.SeoLiga.ru обязательна! RSS



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

Пользовательские, или составные, элементы управления объединяют нестандарт-
ные возможности с функциональностью стандартных элементов управления Windows
Forms, позволяя быстро создавать новые элементов управления. Пользователь-
ский элемент управления состоит из одного или нескольких стандартных элемен-
тов управления, объединенных в группу. Дизайнер UserControl предназначен для
добавления к составным элементам управления дочерних элементов управления,
также называемых вложенными. На рис. 7-1 показан дизайнер UserControl, в кото-
ром открыт составной элемент управления с парой вложенных кнопок и текстовым
полем.
Разработчик может написать собственный код для обработки событий, генери-
руемых вложенными элементами управления. Предположим, что вам требуется со-
здать пользовательский элемент управления, который состоит из двух текстовых
полей и надписи. При изменении значений любого из текстовых полей этот эле-
мент управления должен автоматически складывать их и отображать сумму в над-
писи. Подобную функциональность удается реализовать, переопределив методы Ол-
KeyPress вложенных текстовых полей следующим образом:
Visual Basic .NET
Для события KeyPress элемента управления TextBoxS
нужно создать аналогичный обработчик,
Private Sib TextBox1_KeyPress(ByVal Sender As Object, ByVal e As
KeyPressEventArgs) Handles TextBoxl.KeyPress
1 Проверить, является ли нажатая клавиша цифровой,
If Char.IsNumber(e.KeyChar) = False Then
e.Handled - True
End If
LabeU.Text = (Integer. Parse(TextBox1 .Text) +
Integer.Parse(TextBox2.TexT)).ToString()
End Sub
Visual C#
// Для события KeyPress элемента управления TextBox2
// нужно создать аналогичный обработчик.
protected override void OnKeyPress(object sender, KeyPressEventArgs e)
{
// Проверить, является ли нажатая клавиша цифровой.
if (char.lsNumber(e.KeyChar) == false)
e.Handled - true;
LabeU.Text = (int.Parse(TextBox1.Text) +
int.Parse(Tex:Box2.Text)).ToString();
}
Вложенные компоненты составных элементов управления считаются закрыты-
ми. Поэтому ни один разработчик, которому случится работать с вашим элементом
управления, не сможет изменить такие свойства его вложенных элементов управле-
ния, как цвет, форма и размер. Чтобы разрешить другим разработчикам изменять
свойства вложенных элементов управления, сделайте их доступными через свой-
ства объекта составного элемента управления. Рассмотрим составной элемент уп-
равления с вложенной кнопкой (Button 1). Чтобы предоставить доступ к свойству
BackColor объекта Button], создайте, например, для него свойство-оболочку у объек-
та элемента управления, как показано ниже:
Visual Basic .NET
Это свойство, объявленное в классе составного элемента управления.
Public Property ButtonColor() As Color
Get
Return Button"!. BackColor
End Get
Set(ByVal Value As Color)
Buttonl. BackColor = Value
End Set
End Property
Visual C#
public color ButtonColor
{
get
{
return Buttonl. BackColor:
}
set
{
Buttonl. BackColor = value;
Чтобы предоставить доступ к вложенному элементу управления, измените его
свойство Modifiers. Это возможно только через окно Properties в период разработки,
поскольку в период выполнения оно не существует, Свойство Modifiers позволяет
задать любой уровень доступа, который применяется к соответствующему вложен-
ному элементу управления.
^ Как создать составной элемент управления
1. Объявите класс, производный от UserControl.
2. Вызовите дизайнер UserControl и добавьте с его помощью вложенные элементы
управления Windows Forms, после чего соответствующим образом настройте их.
3. При необходимости сделайте доступными свойства вложенных элементов упра-
вления.
4. Реализуйте нестандартные возможности, необходимые составному элементу
управления.

Теги: .NET

Статьи по теме:

Работа с фокусом ввода
Команды для манипулирования данными
Обработка и генерация исключений
Стандартная система типов CTS
Декларативная защита, основанная на ролях
Doxygen – версия 1.5.7
Двоичные файлы .NET
Распространение приложений через Интернет
Создание дополнительных типов объектов Doughnut
Установка порядка передачи фокуса при нажатии клавиши Tab
Редактор файловой системы
Реализация метода RemoveStale
Назначение значка элементу управления
Достоинства сертификации Microsoft
Cosmos – C# Open Source Managed Operating System
| .NET | Pavel |
 


Пн Вт Ср Чт Пт Сб Вс
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30


     



Данный сайт или домен продается

© 2009 Seoliga.ru | .NET | Создание составных элементов управления. Регион сайта: Москва и Санкт-Петербург