* При перепечатке материалов ссылка на 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

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

Создание классов
Обработка исключений и императивная защита
Boost – версия 1.36.0
Реализация членов интерфейса на Visual C#
Переменные методов
Оповещение пользователя об ошибках ввода
Достоинства сертификации Microsoft
Редактор нестандартных действий
Защита приложения
Интерфейсы как средство достижения полиморфизма
Формы, элементы управления и меню
Модель защиты, основанная на ролях
Создание дополнительных типов объектов Doughnut
Создание элемента управления
Parsing Expression Grammar Support for C# 3.0 Part 1 – PEG Lib and Parser Generator
| .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 31


     



Rambler's Top100

Данный сайт или домен продается ICQ: 403-353-727

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