MenuStrip mit Array erweitern + Aktion

hhunderter

Erfahrenes Mitglied
Hi

ich würd gern ein MenuStrip über ein Array erweitern und diese erweiterungen bei anklicken auswerten können.

Das Erweitern ist ja nicht schwer :
Code:
_Menue.DropDownItems.Clear()
        For i = 0 To ((array.Length - 1) / 2)
            _Menue.DropDownItems.Add(array(i, 0))
        Next i
Nur wie komme ich jetzt an die Click-Events der neu erstellten Items?
 

hhunderter

Erfahrenes Mitglied
hat sich erledigt habs gefunden:

Code:
Private Sub _Menue_DropDownItemClicked(sender As Object, e As System.Windows.Forms.ToolStripItemClickedEventArgs) Handles _Menue.DropDownItemClicked
        For i = 0 To ((array.Length / 2) - 1)
            If array(i, 0) = e.ClickedItem.Text Then
                ID = i
            End If
        Next
    End Sub
 

Shakie

Erfahrenes Mitglied
Wusstest du, dass das "sender"-Objekt eine Referenz auf den Absender des DropDownItemClicked-Events ist, also das MenuItem, auf das geklickt wurde?
Code:
Dim gecklicktesItem as ToolStripDropDownItem = DirectCast(sender, ToolStripDropDownItem)
Es ist robuster, wenn du deine Array-Elemente nicht anhand der Text-Eigenschaft identifizierst, sondern wenn du überprüfst, ob die Objekte tatsächlich die selben sind.
Code:
If array(i,0) is sender Then ...