Auslösen eines Ereignisses .net Beispiel
Ich versuche zu erstellen ein einfaches Beispiel zum auslösen eines Ereignisses in vb.net und ich bin der Hoffnung, dass durch das Studium gründlich kann ich upgrade mein system empfängt Daten vom seriellen port.
Momentan habe ich ein system, das eingehende Daten aus dem seriellen port via Timer, das problem ist es gibt bestimmte Ereignisse in einem system, das Konflikte in meinem timer. Denn ich bin der Planung zu ändern, erhielt ich die Daten von seriellen ports, statt der timer, den ich nutzen möchte vb.net raiseevent.
Leider habe ich nicht finden können, ein einfaches Beispiel, wie dieses Ereignis zu verwenden, durch die Suche gründlich sah ich die MSDN ist post über dieses Thema und es ist hier. So, wie verwende ich dieses Beispiel? Ich habe versucht, über ihn unten wie, dass
Public Event TimeExpired(ByVal Status As String)
Public Sub RaiseTimeExpiredEvent()
RaiseEvent TimeExpired("Your time has run out")
MessageBox.Show(TimeExpired())
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
RaiseTimeExpiredEvent()
End Sub
Funktioniert es nicht funktionieren, der Fehler ist
Fehler 1 " Public Event TimeExpired(Status As String)' ist ein Ereignis und kann nicht direkt aufgerufen werden. Verwenden Sie ein "RaiseEvent" - Anweisung, um ein Ereignis auszulösen. C:\Users\Cary\Desktop\Projects\Testing\Testing\Testing\Form1.vb 5 25 Tests
Wegen des Fehler habe ich versucht, es zu tun wie dieser
Class Form1
Public Event TimeExpired(ByVal Status As String)
Public Sub RaiseTimeExpiredEvent()
RaiseEvent TimeExpired("Your time has run out")
MessageBox.Show(TimeExpired())
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
RaiseEvent TimeExpired()
End Sub
Ende Klasse
Aber der Fehler besagt
Fehler 2 Argument nicht angegeben, die für den parameter 'Status' der 'Öffentlichen Ereignis TimeExpired(Status As String)'. C:\Users\Cary\Desktop\Projects\Testing\Testing\Testing\Form1.vb 11 9 Prüfung
InformationsquelleAutor Cary Bondoc | 2015-08-06
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sind Sie mithilfe von Visual Studio ? Wenn ja, können Sie versuchen, zum anzeigen der Fehlerliste. Für diese, klicken Sie auf Ansicht, und die Fehler-Liste.
Behandeln Sie das Ereignis, das Sie hinzufügen können :
Hier ist der vollständige code :
Edit :
Wenn Sie wollen, bewegen Sie die Anhebung der Veranstaltung in einem Modul, können Sie nicht. Sie müssen fügen Sie es in eine Klasse. Finden Sie unter diesem link.
Beispiel von Class1 (man sollte es umbenennen...) :
Und nutzen zu können, müssen Sie deklarieren es WithEvents in Form1 :
Deine Antwort scheint so einfach zu verstehen für mich. Das ist toll und besser!
Ich denke nur, dass die OneFineDay die Klasse " Foo " ist nutzlos... Nach mir, meine Antwort ist besser, aber wählen, was Sie bevorzugen! 😉
meinst du, die Erklärung der
OnTimeExpired
? So macht esHandleTimeExpired
wird es gültig?Ja. Die
On*
Methoden sind in der Regelprotected
Methoden zu ermöglichen, abgeleitete Klassen, um in der Lage sein, um das Ereignis auslösen.InformationsquelleAutor Drarig29