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


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

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

Работа в редакторе кода
Динамические свойства
Пространства имен System.Drawing
Вложенные элементы управления и контейнеры
Члены типов CTS
Создание формируемых элементов управления
Реализация полиморфизма через наследование
Создание экземпляров пользовательских типов
Класс DataViewManager
Создание классов
Обзор ADO.NET
Создание типизированного объекта DataSet с помощью XML Designer
Оповещение пользователя об ошибках ввода
Извлечение данных XML из баз данных SQL Server 2000
Создание компонента DoughnutMachine
| .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 | Создание составных элементов управления. Регион сайта: Москва и Санкт-Петербург