Hallo TranceEnergy
mhm das versteh ich noch nicht do ganz
Ergo hast du dich nicht informiert, denn so schwer ist das nicht!
kannst du mir nen beispiel source schicken? raiseevent is mir
komplett neu
Na dann schau mal
'Code in der Form, benötigt einen Button
Public Class Form1
Private WithEvents MyTest As Test 'wir declarieren MyTEst auf die Klasse und sagen durch WithEvents
'das wir auf seine Ereignisse reagieren wollen.
Private Sub Button1\_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
If MyTest Is Nothing Then 'Wenn MyTest = Nothing ist dann
MyTest = New Test 'Wir bilden eine Instanz von der Klasse Test
MyTest.Run() 'Wir rufen die Methode Run auf, die den Timer startet
End If
End Sub
Private Sub MyTest\_IsRunning() Handles MyTest.IsRunning 'Ereignis wird von der Klasse ausgelöst
MsgBox("Timer is Running...") 'Wir lassen uns anzeigen das der Timer läuft
End Sub
Private Sub MyTest\_TimerTick(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyTest.TimerTick 'Ereignis wird von der Klasse ausgelöst
Static Counter As Integer 'Eine statische Variable zum zaehlen
Counter += 1 'Wir erhöhen den Wert um 1
Me.Text = Counter.ToString & " Aufruf vom Timer ..." 'wir lassen uns die Aufrufe anzeigen
End Sub
End Class
'Code in der Klasse Test
Public Class Test
Protected Friend Event TimerTick(ByVal sender As System.Object, ByVal e As System.EventArgs) 'Wir declarieren das Ereignis welches ausgelöst werden soll
Protected Friend Event IsRunning() 'Wir declarieren noch ein Ereignis
Private TMR As Timer 'Wir definieren TMR als Timer
Protected Friend Sub Run() 'Die Methode Run
If TMR Is Nothing Then 'Wenn TMR = Nothing ist
TMR = New Timer 'Wir erstellen eine Instanz vom Timer
TMR.Interval = 100 'Wir setzen den Intervall auf 100ms
AddHandler TMR.Tick, AddressOf MyTimerTick 'Der Timer wird dynamisch erstellt -\> Wir brauchen ein Addhandler
'um auf das Event Tick vom Timer zu reagieren. Wir verweisen nach der Sub MyTimerTick
TMR.Enabled = True 'Wir schalten den Timer ein
RaiseEvent IsRunning() 'Wir lösen das Ereignis IsRunning aus
Else 'Wenn schon eine Instanz vom Timer läuft
RaiseEvent IsRunning() 'Wir lösen das Ereignis IsRunning aus
End If
End Sub
Private Sub MyTimerTick(ByVal sender As System.Object, ByVal e As System.EventArgs) 'Wenn der Timer, seine Methode Tick auslöst
RaiseEvent TimerTick(sender, e) 'Wir lösen das Ereignis TimerTick aus und schicken den Sender so wie die EventArgs mit
End Sub
End Class
Ich hoffe es ist verstaendlich
MfG Alex