Определение событий в Visual Basic
В Microsoft Visual Basic событие — это сообщение, отправляемое объектом внутри программы в основной цикл программы, информирующее его о том, что что-то произошло. Это «что-то» может варьироваться в широких пределах, от таймера до щелчка мышью со стороны пользователя. Программа может зафиксировать это событие и использовать информацию, содержащуюся в нем, для принятия решений о дальнейших операциях.
Примеры
Visual Basic поставляется с предварительно загруженным огромным количеством предварительно закодированных событий, хотя пользователи также могут создавать свои собственные. Эти события охватывают практически все аспекты работы и взаимодействия программы. Некоторые события, связанные с взаимодействием между курсором мыши и элементом управления в форме (например, кнопкой), включают MouseClick, MouseDoubleClick, MouseEnter, MouseLeave, MouseWheel, MouseMove и MouseHover. Событиям обычно даются очень интуитивно понятные имена, чтобы упростить чтение кода Visual Basic.
Запуск
События могут быть вызваны большим количеством ситуаций. Многие события являются результатом взаимодействия с пользователем, например движения мыши или ввода с клавиатуры. Операционная система Windows также отправляет события, уведомляя программу о том, когда она свернута или когда ее перекрывает другое окно. Объекты могут запускать свои собственные события, например, когда переменная достигает определенного значения. Наконец, события можно привести в движение, специально запрограммировав их на это посредством так называемого «возбуждения».
Декларация
Новые события создаются с помощью команды объявления. Код для этого обычно выглядит примерно так:
OptionChanged открытого события (имя ByVal в виде строки, число ByVal в виде целого числа)
Это примерное событие нужно было бы запрограммировать вручную, чтобы оно вызывалось при изменении параметра и отправляло бы в программу два значения:имя измененного параметра и значение, на которое оно было установлено.
Создание событий
Инициирование события — это действие, которое заставляет его произойти. Это можно сделать с помощью одной строки кода, помещенной в вашу программу, например:
RaiseEvent OptionChanged("Длина", 28)
Это затем уведомит программу о происходящем событии и отправит информацию, содержащуюся в процедуре-обработчике, если таковая существует.
Обработчики
Обработчик — это процедура, которую программа вызывает, когда происходит определенное событие. Затем обработчик может отреагировать на информацию, обработав ее или отправив информацию пользователю. Сначала событие и его обработчик должны быть связаны вручную, чтобы программа знала, что одно должно вызывать другое. Например, чтобы добавить обработчик к нашему событию OptionChanged, требуется что-то вроде этого:
AddHandler Obj.OptionChanged, AddressOf Me.OptionChangedHandler
После чего можно добавить сам обработчик. Обработчик OptionChanged может быть следующим:
Sub OptionChangedHandler(ByVal Name As String, ByVal Number As Integer) MsgBox("Значение для " &Name.ToString &"было изменено!) End Sub