Имя Пароль
Зарегистрироваться


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

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

Применение трассировочных переключателей
Parsing Expression Grammar Support for C# 3.0 Part 1 – PEG Lib and Parser Generator
Абстрактные классы и члены
Наследование от абстрактного класса
Сборки
Применение методов формы
ToDoList 5.6.6
Извлечение из сопутствующих сборок ресурсов, специфичных для культуры
Конструирование меню во время разработки
Развертывание проекта
Классы CTS
Преобразование типов
Применение переменных ссылочных типов
Оптимизация средствами компилятора
Редакторы свойств программы установки
| .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 | Создание составных элементов управления. Регион сайта: Москва и Санкт-Петербург