Информационный сайт

 

Реклама
bulletinsite.net -> Книги на сайте -> Программисту -> Троелсен Э. -> "С# и платформа .NET. Библиотека программиста" -> 191

С# и платформа .NET. Библиотека программиста - Троелсен Э.

Троелсен Э. С# и платформа .NET. Библиотека программиста — СПб.: Питер, 2004. — 796 c.
ISBN 5-318-00750-3
Скачать (прямая ссылка): cplatforma2004.pdf
Предыдущая << 1 .. 185 186 187 188 189 190 < 191 > 192 193 194 195 196 197 .. 320 >> Следующая

472 Глава 10 • Элементы управления
ры и местонахождение элемента управления (свойства Height, Width, Left, Right, Location), установку цвета фона и цвета переднего плана, выбор шрифта и т. п. В этой главе мы будем считать, что с возможностями, унаследованными от класса Control, читатель уже знаком (по главе 8), и мы уделим основное внимание уникальным членам каждого элемента управления.
Control і-
j ButtonBase
Button
— CheckBox
RadioButton
DataGrid
TextBoxBase
TextBox
L RicrtTextBox
GroupBox
ScrollBar
HScrollBar
VScrollBar
DateTimePlcker
• FormatContro!
ComboBox
Label
Ц LinkLabel
ListBox
LlstView
MDICIient
MonthCalendar
-PictureBox
ProgressBar
Splitter
StatusBar
TabBase
TabControl
TabStrip
CheckedListBox
ToolBar
TrackBar
Tree View
ScrollableControl
CorrtainerControi
Form
UserControl
Panel
MultiplexPanel
,ЯЯЯЯЫт ^ЯЯШ _ _—_j
-. TabPage
\
- UpDownBase
Domain U pDown
NumericUpDown
Рис. 10.1. Иерархия элементов управления Windows Forms
Как вручную добавить на форму
элементы управления
Вне зависимости от того, какой именно элемент управления добавляется на форму, для его размещения нам придется выполнять один и тот же набор операций. Прежде всего нам нужно создать объект соответствующего класса. Следующая задача — при помощи свойств, методов и событий данного объекта настроить его параметры (обычно это делается либо в конструкторе формы, либо в методе InitializeComponentsO. И наконец, последнее, что обязательно необходимо сделать, — добавить элемент управления в коллекцию Controls для данной формы. Если мы пропустим этот последний этап, то элемент управления просто не будет видим на форме! Все три этапа можно проиллюстрировать на примере:
Как вручную добавить элементы управления на форму 473
// Не забудьте добавить ссылку на System.Uindows.Forms.dll
iLising System.Windows.Forms;
class MvForr,-, : Form I
// 1) Создаем объект элемент управления private TextBox firstNameBox - new TextBoxO;
MyForm() {
this,Text = "Controls in the raw";
II 2) Настраиваем созданный TextBox firstNameBox.Text = "Chucky": firstNameBox.Size = new Size(150, 50): firstNameBox.tocation = new РоїпШО, Ю);
II 3) Добавляем TextBox в коллекцию Controls this. Controls.Addtf1rstNameBox);
Класс Control$ControlCollection
Несмотря на то что процесс добавления на форму нового элемента управления обычно не вызывает вопросов все же свойство Control s формы заслуживает более подробного рассмотрения. Это свойство возвращает ссылку на можеш ыи класс ControlCollection, определенный внутри класса Control (то есть его полное имя будет Control SControlCol lection). Внутри Control Col lection создается запись для каждого из элементов управления, размешенных на форме. Мы можем получить ссылку на этот объект в любой момент, когда в процессе выполнения программы нам понадобится обратиться к списку элементов управления формы:
// Получаем ссылку на объект ControlSControlCollection для формы Control.ControlCol lection coll = this,Controls;
Пocлeпoлyчeнияccьшкивнaшeмpacпopяжeнии-любыeчлeныContro^CoПection. Их перечень представлен в табл. 10.5.
Таблица 10.1. Члены вложенного класса ControlCollection Члены Назначение
Add() Используется для добавления на форму нового элемента управления
AddRangeO (массива элементов управления)
ClearO Удаляет все элементы из коллекции
Count Возвращает количество элементов в коллекции
GetChlldlndexO Позволяет установить или получить номер указанного пользователем
SetChildlndexO элемента в коллекции
GetEnumeratorO Возвращает интерфейс ltnumerator для коллекции
Remove() Удаляет указанный пользователем элемент управления из коллекции
(указывается номер этого элемента)
474 Глава 10 Элементы управления
Проиллюстрируем возможности Control Col lection на примере. Мы добавим на форму еще один элемент управления - кнопку, и в обработчике события Cl і Ck этой кнопки мы будем выводить информацию о каждом из членов коллекции:
class MyFcr*
{
Form
private TextBox firstNameBox = new TextBoxO; private Button btnShowControl s = new ButtonO;
MyFormt) {
// Настраиваем TextBox
// Добавляем новую кнопку
btnShowControl S.Text = "Examine Controls collection";
OtnShowContro1s,Size - new SizeOO. 90);
btnShowControls.Location - new PointtlO. 70);
btnShowControls.Click += new EventHanrJ1ertbtnShowControls_Clicked):
this.Controls.Add(bt nS howControls):
protected void btnShowControl:; Clickedtobject sender. EventArgs
{
II Выводим информацию о каидои элементе в коллекции
Control. Control Col lection coll = this. Controls: foreach (Control с in coll)
// Второй параметр GetChildlndexO определяет, будет ли // сгенерировано исключение, если эленент не обнаружен if(c != null)
MessagEBox.Show(c.Text. "Index numb; " +
coll.GetChildlndextc. false));
Графический интерфейс нашего приложения представлен на рис. 10.2. При нажатии на кнопку откроются два окна сообщения с информацией об элементах управления формы (рис. 10.3).
,JSl иг а гик in the raw
IChucky
Control* coUetcJcri
Предыдущая << 1 .. 185 186 187 188 189 190 < 191 > 192 193 194 195 196 197 .. 320 >> Следующая
Реклама
Авторские права © 2009 AdsNet. Все права защищены.
Rambler's Top100