Event VB.Net Tutorial

Module Module1
    Dim WithEvents ValueInfo As New Value()
    Class Value
        Public Event ValueUp(ByVal Amount As Double)
        Public Event ValueDown(ByVal Amount As Double)
        Public Event Result(ByVal Amount As Double, ByVal AnnounceDate As DateTime)
        Public Sub GenerateEvents()
            RaiseEvent ValueUp(2)
            RaiseEvent ValueDown(-5.5)
            RaiseEvent Result(1.25, Now())
        End Sub
    End Class
    Sub PriceGoingUp(ByVal Price As Double)
        Console.WriteLine("Up: " & Price)
    End Sub
    Sub PriceGoingDown(ByVal Price As Double)
        Console.WriteLine("Down: " & Price)
    End Sub
    Sub ResultAnnouncement(ByVal Amount As Double, ByVal AnnounceDate As DateTime)
        Console.WriteLine("Result: " & Amount & " " & AnnounceDate)
    End Sub
    Sub Main()
        AddHandler ValueInfo.ValueUp, AddressOf PriceGoingUp
        AddHandler ValueInfo.ValueDown, AddressOf PriceGoingDown
        AddHandler ValueInfo.Result, AddressOf ResultAnnouncement
        ValueInfo.GenerateEvents()
    End Sub
End Module
Up: 2
Down: -5.5
Result: 1.25 11/05/2007 9:33:43 PM