Event. An Event can have many methods attached to it. When that event is raised, all of those methods are executed. The Delegate keyword is used.
With AddHandler and RaiseEvent, we use Events. We use AddHandler to attach a method to an Event instance. And RaiseEvent causes all attached methods to run.
Here we introduce a simple module to explain events. We provide a Delegate Sub called "EventHandler." And an Event called "_show" is an EventHandler instance.
Start In Main we use the AddHandler keyword to attach EventHandlers to our Event. We create Delegate instances.
Next We use AddressOf to reference the Important1 and Important2 Subs as targets for the EventHandler delegate instances.
Tip We use RaiseEvent to cause an Event to be triggered (raised). The Important1 and Important2 Subs are executed.
Module Module1
Delegate Sub EventHandler()
Event _show As EventHandler
Sub Main()
' Use AddHandler to attach two EventHandlers to Event.
AddHandler _show, New EventHandler(AddressOf Important1)
AddHandler _show, New EventHandler(AddressOf Important2)
' Use RaiseEvent to run all handlers for this event.
RaiseEvent _show()
End Sub
Sub Important1()
' Do something important.
Console.WriteLine("Important1")
End Sub
Sub Important2()
' Do something else that is also important.
Console.WriteLine("Important2")
End Sub
End ModuleImportant1
Important2
With Events, a single entry point can invoke many methods. This is powerful. But in VB.NET we usually use Events in Windows Forms or WPF programs. Events help with GUI development.
Note In a GUI a button click will cause an event to be raised. We can run any number of methods when a click occurs.
RemoveHandler. This does the opposite of AddHandler. We can remove methods from the internal event handler list of an Event. This keyword is used less often.
WithEvents. Another syntax form can be used to add events in VB.NET. We can use the WithEvents keyword and the Handles keyword on event-handlers.
With Event, AddHandler and RaiseEvent we develop powerful event-based approaches. The Delegate keyword helps with AddHandler. We use it to reference methods as objects.
Dot Net Perls is a collection of tested code examples. Pages are continually updated to stay current, with code correctness a top priority.
Sam Allen is passionate about computer languages. In the past, his work has been recommended by Apple and Microsoft and he has studied computers at a selective university in the United States.
This page was last updated on May 24, 2023 (simplify).