Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

what is the equivalent of visual basic withevents and handles in C#

I try to convert a Visual Basic (VB) project to C# and I have no idea how to change some of codes below,

In a windows form a field and a Timer object defined like this;

Public WithEvents tim As New Timer
...
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tim.Tick
End Sub
...

How to rewrite this lines in C#?

like image 951
Emrah KONDUR Avatar asked Oct 25 '25 11:10

Emrah KONDUR


1 Answers

In C# you enrol an EventHandler by registering a method delegate with the event using the += operator as follows:

public Timer tim = new Timer();
tim.Tick += Timer1_Tick;

private void Timer1_Tick(object sender, EventArgs e)
{
   // Event handling code here
} 

This works because the Tick event of the Timer class implements an Event as follows:

public event EventHandler Tick

and EventHandler is a method delegate with signature:

public delegate void EventHandler(
    Object sender,
    EventArgs e
)

which is why any method that conforms to the EventHandler signature can be used as a handler.

like image 175
Guillermo Jimenez Avatar answered Oct 28 '25 00:10

Guillermo Jimenez