Stephen Oller
Stephen Oller

Reputation: 89

How to pass an event Handler to a function that adds controls to that handler in VB?

I made a class that handles the display of a set of controls. These controls are created at runtime. Because of that, I have to add them to an event handler at runtime as well. I made a function that allows me to specify the event handler to be used for some of the controls. The code looks like this:

Here's the main form

Dim displayObj as PackageDisplay = new PackageDisplay(AddressOf CheckBox_CheckedChanged)

The constructor does this

Public Sub New(ByRef eventHandler as Action(Of System.Object, EventArgs)
    AddHandler chkExample.CheckedChanged, eventHandler
End Sub

However, I get the following error:

Value of type 'System.Action(Of Object, System.EventArgs)' cannot be converted to 'System.EventHandler'

It surely must be possible to pass an event handler and assign it, but I just don't know how. I've tried several different variations of this, but I can't figure out how to make this work. Any ideas?

Upvotes: 3

Views: 1252

Answers (1)

tcarvin
tcarvin

Reputation: 10855

You don't need to make one, use the stock System.EventHandler.

Upvotes: 2

Related Questions