Event ExampleUse an Event with AddHandler and RaiseEvent. Attach Subs to an Event with AddHandler.
This page was last reviewed on May 24, 2023.
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 Module
Important1 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).
© 2007-2023 Sam Allen.