Yes.
VB Code:
'in class
Public Event Change(ByVal Sender as object, e as System.EventArgs)
'whereever you want it to fire
RaiseEvent Change(Me,Nothing)
'in app
Dim WithEvents MyClass as New ClassName()
Public Sub MyClass_Change(ByVal Sender as object,e as System.EventArgs) Handles MyClass.Change
Msgbox "Fired"
End Sub
You can also do it without the WithEvents by using the AddHandler method:
VB Code:
'in app
Dim MyClass as New ClassName()
AddHandler MyClass.Change, AddressOf SometingChanged
Public Sub SomethingChanged(ByVal Sender as object,e as System.EventArgs)
Msgbox "Fired"
End Sub
'during clean up remove the handler also
RemoveHandler MyClass.Change, AddressOf SometingChanged