Eventhandling

' Fensterklasse
Public Class frmMyForm
    ' Objekt, das den Events auslöst, deklarieren
    ' Schlüsselwort "WithEvents" ist hierbei wichtig
    Private WithEvents MyMathObj As MathClass = New MathClass

    ' Funktion des Eventobjektes aufrufen, so dass letztendlich der Event angestoßen wird
    Private Sub AddValues()
        MyMathObj.Add(1, 2)
    End Sub

    ' Funktion, die durch den Event aufgerufen wird
    ' diese behandelt letztendlich den Event des MathClass-Objektes
    Private Sub ResultValue(ByVal sResult As String) Handles MyMathObj.ResultEvent
        Console.WriteLine(sResult)
    End Sub
End Class

' Beispielklasse, die den Event aufruft
Public Class MathClass
    ' Event, der ausgelöst wird deklarieren
    Public Event ResultEvent(ByVal sResult As String)

    ' Funktion, die den Event auslöst
    Public Sub Add(ByVal a As Integer, ByVal b As Integer)

        Dim sResult As String

        sResult = (a + b).ToString()

        ' Event aufrufen
        RaiseEvent ResultEvent(sResult)
    End Sub
End Class

Schreibe einen Kommentar