You can think of events as a method call at an unpredictable time. The rest of the program doesn't really know when something will happen, so methods are 'delegated' to respond to events being raised. The parameters I have expressed here are the Microsoft standard, but you can use any parameters you like.
However, the method that receives the event MUST have exactly the same parameters as the event being raised.
Here's how you make events in VB.
In the event declaration:
Public Event OnLoad(e As System.EventArgs, sender as Object)
In the event call:
RaiseEvent OnLoad(New EventArgs(), Me)
You can use any kind of parameters you want there.
Making a method respond to the event
Public Sub HelloWorld(e as System.EventArgs, sender as Object) Handles OtherObject.OnLoad
End Sub
OR:
AddHandler OtherObject.OnLoad, AddressOf MethodToHandleTheEvent
Hope this helps. Please comment if you have any more questions.