Помогни ни да направим Uroci.net по - богат! Добави урок

Как апликацията отговаря на събитията

bubust   трудност:    видян: 2293

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 на формата.



Фигура 2
0 Как апликацията отговаря на събитията


Събитие: потребителят натиска (кликва) върху бутон 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, вие не би трябвало да го правите без да сте оставили процедурата да обработи две или повече събития.



Регистрирайте се, за да добавите коментар


Калдейта ЕООД - © 2003-2010. Всички права запазени.
Препоръчваме: Национален Бизнес | Bomba.bg | IT Новини | Диплома.бг | TRAVEL туризъм | Реферати | AmAm.bg | Иде.ли | Курсови работи | Фото Форум | Spodeli.net | Фото-Култ | Atol.bg | Elmaz.com | MobileBulgaria.com | Казанлък.Com