Примечание. Того же самого эффекта можно достичь и с помощью вкладки class VIew (view ► class VIew), выбрав в списке нужный элемент и изменив значение его свойства

Того же самого эффекта можно достичь и с помощью вкладки Class View (View ► Class View), выбрав в списке нужный элемент и изменив значение его свойства Name в окне свойств. Обратите внимание на то, что при этом в нем отображаются свойства кнопки button1 не как элемента интерфейса, а как поля класса. Можно из­менить имена и вручную, но это более трудоемко и чревато ошибками.

Самое важное происходит в методе InitializeComponent.

В операторах 3 и 4 создаются экземпляры компонентов, затем для каждого из них задаются свойства, определяющие их положение, размер, вид и т. д. Обратите вниманиена операторы 6 и 7. В них регистрируются обработчики соответствую­щих событий. Механизм обработки событий тот же, что мы рассматривали в гла­ве 10 (см. с. 232) — он описывается моделью «публикация — подписка».

Например, для кнопки button1, в составе которой есть событие Click, регистриру­ется обработчик button1_Click. являющийся закрытым методом класса Form1. Это значит, что при наступлении события нажатия на кнопку (об этом сообщит опе­рационная система) будет вызван соответствующий обработчик.

Имя обработчика формируется средой автоматически из имени экземпляра компо­нента и имени события. Обратите внимание на то, что обработчикам передаются два параметра: объект-источник события и запись, соответствующая типу события.

ПРИМЕЧАНИЕ

При задании обработчика можно задать и другое имя, для этого оно записывается справа от имени соответствующего события на вкладке Events окна свойств.

После создания экземпляров компонентов и настройки их свойств компоненты заносятся в коллекцию, доступ к которой выполняется через свойство Controls (операторы 8 и 9). Если этого не сделать, компоненты не будут отображаться на форме. Коллекция поддерживает методы добавления и удаления компонентов (Add и Remove).

Таким образом, для размещения компонента на форме необходимо выполнить три действия:

1. Создать экземпляр соответствующего класса.

2. Настроить свойства экземпляра, в том числе зарегистрировать обработчик
событий.

3. Поместить экземпляр в коллекцию компонентов формы.

Операторы 5 и 10 используются для того, чтобы все изменения в свойства эле­ментов вносились одновременно. Для этого в операторе 5 внесение изменений «замораживается», а в операторе 10 разрешается.

В теле обработчиков событий (операторы 11 и 12) программист может наконец-то самостоятельно написать код, который будет выполняться при наступлении события. Добавим в эти строки операторы, выводящие окна сообщений с соответ­ствующим текстом:

MessageBox.Show("Нажата кнопка button1"): // 11

MessageBox.Show("Нажата клавиша " + e.KeyChar); // 12

Здесь используетсяпростейший вариант статического метода Show класса MessageBox, определенного в пространстве имен System.Windows.Forms. Существуют более деся­ти перегруженных вариантов этого метода, позволяющих варьировать вид выво­димой информации, например задать заголовок окна и наименования отображае­мых на нем кнопок.

Прежде чем приступить к изучению форм и элементов управления, размещаемых на формах, необходимо рассмотреть их общего предка — класс Control.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: