Announcement

Collapse
No announcement yet.

click event von toolstripdropdownitem per add handler

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • click event von toolstripdropdownitem per add handler

    Hallo zusammen,
    ich möchte zur Laufzeit mehrere ToolStripDropDownItem einem ToolStripDropDownButton hinzufügen. Das funktioniert super:

    'Code

    Code:
    ' Teil der Funktion, die beim Aufblättern des ToolStripDropDownButton ausgeführt wird
    '...
    Dim reader_oo As Object = my_Database.db_read(sqlComm)
    While reader_oo.Read
       Dim myItem As ToolStripDropDownItem = tsddb_neu_ortsobjekte.DropDownItems.Add(reader_oo!Name)
       Dim myItemEventArgs As New QrecordEventArgs(reader_oo!id, "ortsobjekt")
       OnClick(myItemEventArgs)
    ' in der folgenden Zeile besteht der Fehler, da der Delegate EventHandler nicht die gleiche Signatur,
    ' wie ortsobjekt_neu_erstellen hat
       AddHandler myItem.Click, AddressOf ortsobjekt_neu_erstellen
    End While
    reader_oo.Close()
    '...
    '--------------------------------------------------------
    ' Prozedur, die beim Klicken auf ein ToolStripDropDownItem ausgeführt werden soll
    Private Sub ortsobjekt_neu_erstellen(ByVal sender As Object, ByVal e As QrecordEventArgs)
        ' zum Testen nur die Anzeige eines Members der abgeleiteten EventArgs Klasse
        MsgBox(e.ID)
    End Sub
    '--------------------------------------------------------
    ' von System.EventArgs abgeleitete Klasse
    Public Class QrecordEventArgs
        Inherits EventArgs
    
        Private ID_ As String
        Private Typ_ As String
    
        Property ID() As String
            Get
                Return ID_
            End Get
            Set(ByVal value As String)
                ID_ = value
            End Set
        End Property
    
        Property Typ() As String
            Get
                Return Typ_
            End Get
            Set(ByVal value As String)
                Typ_ = value
            End Set
        End Property
    
        Public Sub New(ByVal ID As String, ByVal Typ As String)
            ID_ = ID
            Typ_ = Typ
        End Sub
    End Class
    Dazu möchte ich den zur Laufzeit hinzugefügten ToolStripDropDownItems ein eigenes onClick Ereignis verpassen, welches eigene EventArgs erhält.
    Da ist der Knackpunkt, mit den normalen EventArgs klappt das, aber sobald man sich eine eigene Klasse von EventArgs ableitet und modifiziert gehts in die Hose.

    Kann mir jemand helfen? Die Google Suche bringt nur Beispiele mit den normalen EventArgs oder Beispiele mit selbstgebauten Events, die selbst ausgelöst werden.

    Vielen Dank im Voraus.
Working...
X