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


* При перепечатке материалов ссылка на www.SeoLiga.ru обязательна! RSS



События жизненного цикла формы
7 февраля 2009

На протяжении жизненного цикла формы генерируется ряд событий. В этом разде-
ле мы рассмотрим те события, которые генерируются во время создания, функцио-
нирования и уничтожения формы:
• Load
• Activated
• Visible Changed
• Deactivated
• Closing
• Closed
Хотя этот список далеко не полон, все события, которые чаще всего генериру-
ются на протяжении жизненного цикла формы, в нем указаны.
Событие Load
Это событие генерируется, когда экземпляр формы впервые загружается в програм-
му, то есть при первом вызове метода Form.Show или Form. Show Dialog для экземпля-
ра формы. Рассмотрим пример:
Visual Basic .NET
Dim rnyForm as New Form{)
myForm.ShowO ' Здесь срабатывает событие Load
myForm.HideO ' Форма стала невидимой
myForm. ShowO ' Событие Load больше не срабатывает
myForm.CloseO ' Эта команда закрывает и удаляет форму...
myForm.ShowO ' ...а эта - генерирует исключение, поскольку
объект myForm уже недоступен
Visual C#
Form myForm = new Form();
myForm.ShowO; // Здесь срабатывает событие Load
myForm.HideO; // Форма стала невидимой
myForm.ShowO; // Событие Load больше не срабатывает
myForm.CloseO; // Эта команда закрывает и удаляет форму...
myForm.ShowO; // ...а эта - генерирует исключение, поскольку
// объект myForrn уже недоступен
Этот пример демонстрирует обстоятельства генерации события Load. Заметьте,
что такое событие генерируется в жизненном цикле отдельной формы единствен-
ный раз. Если существует несколько экземпляров некоторой формы, то событие
Load создается для каждого из них. Обычно в обработчике события Load инициали-
зируют переменные формы и подготавливают форму к работе.

События Activated и Deactivated
Событие Activated многократно срабатывает в течение жизни формы. Оно генери-
руется, когда форма получает фокус. Так, это происходит при вызове методов
Form.Show, Form. Show Dialog и Form. Activate, а также при активации формы. Обра-
ботчик события Activated применяют для автоматической передачи фокуса опреде-
ленному элементу управления формы, а также для изменения цвета активного эле-
мента управления, чтобы сделать его заметным пользователю.
Напротив, событие Deactivate генерируется, когда форма теряет фокус. Это про-
исходит из-за взаимодействия пользователя с интерфейсом либо при вызове мето-
дов Form.Hide или Form.Close(однако метод Form.Close генерирует это событие, толь-
ко если закрываемая форма является активной). Это событие применяют для про-
верки данных, введенных пользователем.
События Activated и Deactivated генерируются только при перемещении фокуса в
пределах приложения: если переключиться на другое приложение и обратно, ни
одно из них не сработает.
Событие VisibleChangedl
Как следует из имени этого события, оно генерируется при изменении свойства
Visible формы, то есть всякий раз, когда форма становится видимой или невиди-
мой. Это событие генерируют методы Form.Show, Form. Show Dialog, Form.Hide, и
Form.Close.
Событие Closing
Это событие генерируется, когда текущая форма начинает закрываться (но еще не
закрыта), например при вызове метода Form.Close или щелчке кнопки Close. Это
событие позволяет проверить, все ли действия, обязательные для данной формы,
выполнены, например, заполнены ли все обязательные поля. В зависимости от ре-
зультатов проверки, можно прервать процесс закрытия и оставить форму откры-
той. Для этого к обработчику этого события добавляют следующий код:
Visual Basic .NET
CancelEventArgs.Cancel = True
Visual C#
CaricelEventArgs. Cancel = true:
Событие Closed
Это событие генерируется после закрытия формы. Подобно событию Closing, это
происходит при вызове метода Form.Close или когда пользователь закрывает форму
вручную. Событие Closed генерируется вслед за событием Closing после исполнения
его обработчиков. Событие Closed позволяет исполнить любой код для очистки пос-
ле закрытия формы.
Резюме
• Форма — это главный элемент интерфейса программ Windows Forms. Ее следует
конструировать так, чтобы пользовательский интерфейс получился полным, гар-
моничным и привлекательным. Формы разрешается добавлять как во время раз-
работки, так и выполнения. Наследование позволяет создавать формы со сход-
ным оформлением и набором элементов управления, для этого применяют гра-
фический интерфейс среды разработки.
• У форм есть свойства, управляющие их внешним видом. Изменяя их, вы меня-
ете внешний вид формы и (как правило) размещенных на ней элементов управ-
ления. Вот некоторые из этих свойств:
• BackColor
т Fore Color
т Text
т Font
т Cursor
т Back Ground Image
т Opacity
• Для управления жизненным циклом и отображением форм предназначены сле-
дующие методы:
• Form.Show
т Form. Show Dialog
• Form.Activate
т Form. Hide
• Form. Close
• Все перечисленные методы так или иначе изменяют состояние интерфейса и ге-
нерируют различные события:
• Load
т Activated
• VisibleChanged
т Deactivated
т Closing
т Closed
• Можно создавать специальные методы, называемые обработчиками событий.
Эти методы выполняются при генерации соответствующих событий. Обработ-
чик события вызывается каждый раз, когда генерируется обрабатываемое им
событие.

Теги: .NET

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

Локализация формы
Создание обработчика для группы событий
Набор Listeners
Создание DataAdapter с помощью окна Server Explorer
Структуры CTS
Реализация метода RemoveStale
Сборщик мусора
Создание класса строго типизированного набора на основе класса CollectionBase
Развертывание проекта
Анти-паттерны в действии или Самые популярные ошибки программистов
Объекты и члены
Объект DataRelation
Создание классов
Объекты Color, Brush и Pen
Применение компонента HelpProvider
| .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 | События жизненного цикла формы. Регион сайта: Москва и Санкт-Петербург