Calling C# DLL from VB.NET

  • Thread starter tim8w via DotNetMonster.com
  • Start date
T

tim8w via DotNetMonster.com

I'm trying to setup a SelectionChangeHandler for a call to a DLL written in
C#. In the C# DLL, the public declaration is as follows:

public event SelectionChangedHandler SelectionChanged;


To call this from C# I do the following:

ofdPicture.SelectionChanged += new ExtensibleDialogs.
OpenFileDialog.SelectionChangedHandler(ofdPicture_SelectionChanged);

where ofdPicture_SelectionChanged is the name of my function in the C#
calling program.


If I try to use the same line in VB.NET I get the following error:

'Event SelectionChanged(path As String)' is an event, and cannot be called
directly. Use a 'RaiseEvent' statement to raise an event.

Any idea on how to set this up correctly?
 
H

Herfried K. Wagner [MVP]

tim8w via DotNetMonster.com said:
I'm trying to setup a SelectionChangeHandler for a call to a DLL written
in
C#. In the C# DLL, the public declaration is as follows:

public event SelectionChangedHandler SelectionChanged;


To call this from C# I do the following:

ofdPicture.SelectionChanged += new ExtensibleDialogs.
OpenFileDialog.SelectionChangedHandler(ofdPicture_SelectionChanged);

where ofdPicture_SelectionChanged is the name of my function in the C#
calling program.


If I try to use the same line in VB.NET I get the following error:

'Event SelectionChanged(path As String)' is an event, and cannot be called
directly. Use a 'RaiseEvent' statement to raise an event.

Check out the documentation on 'AddHandler', 'RemoveHandler', 'WithEvents',
and 'Handles'.
 
T

tim8w via DotNetMonster.com

Herfried,


Thanks. I did the following and it worked great!

AddHandler ofdPicture.SelectionChanged, AddressOf
ofdPicture_SelectionChanged

and when I was done with it:

RemoveHandler ofdPicture.SelectionChanged, AddressOf
ofdPicture_SelectionChanged
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top