Visual Basic
апликациите са задействувани от събития (event-driven). Това означава, че
работят отговаряйки на събитията, които се случват на обектите. За да се
отговори на събитието, вашият код за събитийната процедура (event procedure или
event handler-е) става необходим, както е показано на фигура 20.
На тази
фигура, потребителят кликва бутона
Exit
на форма
Tochki. После, апликацията
отговаря чрез изпълнение на процедурата за събитието
Click на този обект. В
този случай, събитийната процедура съдържа един оператор, който използва метод
Close и затваря формата.
Операторите
Private Sub и
End Sub се генерират от Visual Studio за да отбележат началото и края
на процедурата.
Събития
имаме, когато потребителят използва мишката - например двойно кликване
DblClick или кликване
Click.
Но това не
винаги е случая. Например, събитията
GotFocus
и
LostFocus могат да се случат не
само когато потребителят променя фокуса, но и когато кода на Visual Basic го
прави. Както и събитието
Load на
формата може да се случи, когато стартира апликацията. Също така събитието
Close настъпва, когато се изпълни метод
Close на формата.
Фигура 20 Как апликацията отговаря на събитията
Събитие: потребителят натиска (кликва) върху бутон Exit
Отговор: Процедурата за събитието Click на бутона Exit се
изпълнява
Private Sub
btnExit_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles btnExit.Click
Me.Close()
End Sub
Общи събития за контролите
Събитята се случват когато...
Click ...потребителят кликне върху контрола.
DblClick .... потребителят кликне два пъти върху контрола
GotFocus ...фокусът се премества към контрола.
LostFocus ... фокусът се премества от контрола.
Общи събития за формите
Събитята се случват когато ...
Load ...формата се зарежда в паметта.
Activated ...формата става активна.
Closing ...формата се затваря.
Closed ...формата е затворена.
Как да създадем процедура за събитие
За да
напишете код на процедура за събитие, вие
работите в прозореца
Code Editor както е показано на фигура 21. Един
от начините да стартирате събитийна процедура е да селектирате обекта и
събитието от падащия списък в горната част на прозореца и тогава Visual Studio генерира
Sub и
End Sub операторите
за вас, и вие можете да прибавите кода между тях .
Друг начин е
да кликнете два пъти върху обекта в прозореца за дизайн -
Form Designer. Тогава, Visual Studio отваря прозореца на редактора на кода -
Code Editor и генерира
Sub и
End Sub операторите за събитието по подразбиране на обекта. На фигура 21 е
показан този начин на извикване на процедурата на събитието
Click за бутон
Calculate на форма
Tochki.
Отбележете,
че преди да започнете работа с кода, трябва да определите свойството
Name на контрола. Защото, ако промените после името Visual Basic ще го
смени в клауза
Handles, но
не и в процедурата.
Процедура за събитие Click
Фигура 21 Как да създадем процедура за събитие
Забележка
- За
да стартирате процедура за събитие Load на формата, кликнете
два пъти върху нея. Събитието Load
ще се изпълни, когато се покаже формата за първи път.
Операторите Sub и End Sub
- Оператор
Sub който
се генерира, когато искаме да създадем процедура за събитие включва клауза за обработка - Handles clause която именова обекта и събитието, което процедурата обработва. Името на процедурата, която се генерира съдържа името
на обекта, долна черта и името на събитието.
Така че
btnCalculate_Click е името на
процедурата, която обработва събитието
Click
на бутон
btnCalculate.
- Въпреки че
може да модифицирате генерирания оператор
Sub,
вие не би трябвало да го правите без да сте оставили процедурата да обработи
две или повече събития.