Poznámka
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Událost je akce nebo výskyt , například kliknutí myší nebo překročení limitu kreditu – rozpoznaný nějakou komponentou programu a pro který můžete napsat kód, který má reagovat. Obslužná rutina události je kód, který napíšete pro reakci na událost.
Obslužná rutina události v jazyce Visual Basic je procedura Sub
. Obvykle jej však nezavoláte stejným způsobem jako jiné Sub
postupy. Místo toho identifikujete proceduru jako obslužnou funkci události. Můžete to provést buď pomocí Handles
klauzule a WithEvents
proměnné, nebo pomocí příkazu AddHandler. Použití klauzule Handles
je výchozím způsobem deklarace obslužné rutiny události v jazyce Visual Basic. To je způsob, jakým obslužné rutiny událostí zapisují návrháři, když programujete v integrovaném vývojovém prostředí (IDE). Příkaz AddHandler
je vhodný pro dynamické generování událostí v čase běhu programu.
Když dojde k události, Visual Basic automaticky volá proceduru pro obsluhu události. Jakýkoli kód, který má přístup k události, může způsobit jeho výskyt spuštěním příkazu RaiseEvent.
Ke stejné události můžete přiřadit více obslužných rutin události. V některých případech můžete zrušit přidružení obslužné rutiny k události. Další informace naleznete v části Události .
Pomocí Handles a WithEvents zavolejte obslužnou rutinu události
Ujistěte se, že je událost deklarována příkazem Event Statement.
Deklarujte proměnnou objektu na úrovni modulu nebo třídy pomocí klíčového
WithEvents
slova. KlauzuleAs
pro tuto proměnnou musí určovat třídu, která vyvolá událost.Do deklarace procedury zpracování
Sub
událostí přidejteHandles
klauzuli, která určujeWithEvents
proměnnou a název události.Když dojde k události, Visual Basic automaticky volá proceduru
Sub
. Váš kód může použítRaiseEvent
příkaz k provedení události.Následující příklad definuje událost a proměnnou
WithEvents
, která odkazuje na třídu, která vyvolá událost. Procedura zpracováníSub
událostí používáHandles
klauzuli k určení třídy a události, které zpracovává.Public Class RaisesEvent Public Event SomethingHappened() Dim WithEvents happenObj As New RaisesEvent Public Sub ProcessHappen() Handles happenObj.SomethingHappened ' Insert code to handle somethingHappened event. End Sub End Class
Volání obslužné rutiny události pomocí rutiny AddHandler
Ujistěte se, že je událost deklarována příkazem
Event
.Spuštěním příkazu AddHandler dynamicky propojíte proceduru zpracování
Sub
událostí s událostí.Když dojde k události, Visual Basic automaticky volá proceduru
Sub
. Váš kód může použítRaiseEvent
příkaz k provedení události.Následující příklad používá příkaz AddHandler v konstruktoru k přidružení procedury
OnFormClosing
jako obslužné rutiny události pro FormClosing.Sub New() InitializeComponent() AddHandler Me.FormClosing, AddressOf OnFormClosing End Sub Private Sub OnFormClosing(sender As Object, e As FormClosingEventArgs) ' Insert code to deal with impending closure of this form. End Sub
Obslužnou rutinu události můžete zrušit spuštěním příkazu RemoveHandler.