Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Zdarzenie jest akcją lub zdarzeniem — takim jak kliknięcie myszą lub przekroczenie limitu kredytowego — rozpoznawane przez jakiś składnik programu, na które można napisać kod, aby zareagować. Procedura obsługi zdarzeń to kod, który piszesz w celu reagowania na zdarzenie.
Procedura obsługi zdarzeń w Visual Basic jest procedurą Sub
. Jednak zwykle nie nazywa się go tak samo jak inne Sub
procedury. Zamiast tego należy zidentyfikować procedurę jako procedurę obsługi zdarzenia. Można to zrobić za pomocą klauzuli Handles
i zmiennej WithEvents
lub instrukcji AddHandler. Używanie klauzuli Handles
jest domyślnym sposobem deklarowania programu obsługi zdarzeń w Visual Basic. Jest to sposób, w jaki programy obsługi zdarzeń są zapisywane przez projektantów podczas programowania w zintegrowanym środowisku projektowym (IDE). Instrukcja AddHandler
jest odpowiednia do dynamicznego wyzwalania zdarzeń w czasie wykonywania.
Po wystąpieniu zdarzenia program Visual Basic automatycznie wywołuje procedurę obsługi zdarzeń. Każdy kod, który ma dostęp do zdarzenia, może spowodować jego wystąpienie, wykonując instrukcję RaiseEvent.
Można skojarzyć więcej niż jedną procedurę obsługi zdarzeń z tym samym zdarzeniem. W niektórych przypadkach można oddzielić procedurę obsługującą od zdarzenia. Aby uzyskać więcej informacji, zobacz Events.
Wywoływanie programu obsługi zdarzeń przy użyciu polecenia Handles i WithEvents
Upewnij się, że zdarzenie zostało zadeklarowane za pomocą instrukcji event.
Zadeklaruj zmienną obiektu na poziomie modułu lub klasy przy użyciu słowa kluczowego
WithEvents
. KlauzulaAs
dla tej zmiennej musi określać klasę, która zgłasza zdarzenie.W deklaracji procedury obsługi
Sub
zdarzeń dodaj klauzulęHandles
określającą zmiennąWithEvents
i nazwę zdarzenia.Po wystąpieniu zdarzenia program Visual Basic automatycznie wywołuje procedurę
Sub
. Kod może użyćRaiseEvent
instrukcji , aby zdarzenie miało miejsce.W poniższym przykładzie zdefiniowano zdarzenie i zmienną
WithEvents
odwołującą się do klasy, która wywołuje zdarzenie. Procedura obsługi zdarzeńSub
używa klauzuli , aby określić klasęHandles
i zdarzenie, które obsługuje.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
Wywoływanie programu obsługi zdarzeń przy użyciu programu AddHandler
Upewnij się, że zdarzenie zostało zadeklarowane za pomocą oświadczenia
Event
.Wykonaj instrukcję AddHandler , aby dynamicznie połączyć procedurę obsługi
Sub
zdarzeń ze zdarzeniem.Po wystąpieniu zdarzenia program Visual Basic automatycznie wywołuje procedurę
Sub
. Kod może użyćRaiseEvent
instrukcji , aby zdarzenie miało miejsce.W poniższym przykładzie użyto instrukcji AddHandler w konstruktorze, aby skojarzyć
OnFormClosing
procedurę jako procedurę obsługi zdarzeń dla elementu 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
Można odłączyć program obsługi zdarzeń od zdarzenia, wykonując instrukcję RemoveHandler.