Совместное использование обработчика событий
На этом занятии будет рассмотрено, как создать общий обработчик событий, который обрабатывает события для более чем одного элемента управления.
На предыдущем занятии Взаимодействие программы с пользователем. Создание обработчика событий было рассмотрено, как записать код действий в ответ на события MouseEnter и MouseLeave для элемента управления Button. Что произойдет при наличии двух или более элементов управления Button и необходимости отображать одно и то же сообщение для обоих из них? Можно написать код в обработчиках событий для каждого элемента управления, но есть и более простой способ.
Если внимательно посмотреть на методы обработчика событий для события MouseEnter, можно увидеть, что объявление Method (Private Sub Button1_MouseEnter(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.MouseEnter) содержит предложение Handles (Handles Button1.MouseEnter). Это не случайно, так как ключевое слово Handles указывает обработчику событий, какие события он должен обрабатывать.
Чтобы сделать обработчик событий общим для нескольких элементов управления, просто необходимо добавить имена дополнительных элементов управления и имя события, которое необходимо обработать. Обработчику событий после этих действий будет сообщаться о возникновении события для любого из этих элементов управления. Например, если имеется два элемента управления Button, и необходимо использовать один и тот же обработчик событий для них, предложение Handles будет выглядеть следующим образом.
Handles Button1.MouseEnter, Button2.MouseEnter.
Теперь имеется один метод, обрабатывающий событие MouseEnter для обоих элементов управления. Как же обработчик событий распознает, какой элемент управления вызвал событие? Если снова взглянуть на объявление Method, то можно заметить предложение ByVal sender As Object — ключевое слово Sender указывает обработчику событий, какой объект (в данном случае элемент управления) вызвал событие.
Практическое задание
Дата добавления: 2015-08-08; просмотров: 597;