|
| |

VB.NET - Ein- und Umsteiger| Re: Auf Events eines Objektes innerhalb einer Klasse reagieren | |  | | Autor: keco | | Datum: 11.01.12 21:46 |
| Gehen wir davon aus, du hast eine Klasse, die so aussieht: Public Class MyDevice
''' <summary>
''' Die Methode, die beim Auslösen des DeviceConnected-Ereignis aufgerufen
' wird.
''' </summary>
''' <remarks></remarks>
Public Delegate Sub DeviceConnectedEventHandler(sender As Object, e As _
System.EventArgs)
''' <summary>
''' Tritt ein, wenn eine Verbindung mit dem Gerät hergestellt wurde.
''' </summary>
''' <remarks></remarks>
Public Event DeviceConnected As DeviceConnectedEventHandler
Protected Overridable Sub OnDeviceConnected(e As System.EventArgs)
RaiseEvent DeviceConnected(Me, e)
End Sub
Public Sub Connect()
Call OnDeviceConnected(New System.EventArgs)
End Sub
End Class Das könnte die Klasse für dein USBStick sein. So in etwa sieht die allgemein Struktur einer Klasse aus, wenn du darin Events deklarieren möchtest. Zunächst gibt es einen Delegate, der dieses Ereignis behandeln soll und das Event, welches vom Typ dieses Delegaten ist. Die beiden in Kombination verarbeiten dann das Ereginis und rufen die Methode auf, die du angibst. Dann gibt es typischerweise eine Overridable-Methode, die von der Bezeichnung her immer mit "On" beginnt und dann den Namen des zu verarbeitenden Ereignisses erhält. Diese kann später in abgeleiteten Klassen überschrieben werden. Die Connect-Methode soll dabei dieses Ereignis auslösen.
In deiner Form1 könntest du dann folgenden Code haben: Private WithEvents usbDevice As New MyDevice
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) _
Handles Button1.Click
usbDevice.Connect()
End Sub
Private Sub MyDevice_Connected(sender As Object, e As System.EventArgs) _
Handles usbDevice.DeviceConnected
Debug.WriteLine("Device connected")
End SubWenn du das Feld vom Typ MyDevice mit "WithEvents" deklarierst, dann kannst du die Ereginisse ganz einfach behandeln, indem du bei der Methode "Handles" anfügst und dort das Event der Variable wählst. Die Signatur der Methode muss dabei mit der des Delegaten aus der Klasse MyDevice übereinstimmen. Über den Button soll inefach nur die Connect-Methode aufgerufen werden. Dort sollte dann das Event ausgelöst werden und dir wird im DirektFenster in Visual Studio "Device connected" angezeigt. |  |
 | Sie sind nicht angemeldet! Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.
Einloggen | Neu registrieren |
  |
|
sevWizard für VB5/6 
Professionelle Assistenten im Handumdrehen
Erstellen Sie eigene Assistenten (Wizards) im Look & Feel von Windows 2000/XP - mit allem Komfort und zwar in Windeseile :-) Weitere InfosTipp des Monats Access-Tools Vol.1 
Über 400 MByte Inhalt
Mehr als 250 Access-Beispiele, 25 Add-Ins und ActiveX-Komponenten, 16 VB-Projekt inkl. Source, mehr als 320 Tipps & Tricks für Access und VB
Nur 24,95 EURWeitere Infos
|
| |
|
Copyright ©2000-2025 vb@rchiv Dieter Otter Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.
Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel
|
|