Guten Morgen zusammen,
ich erstelle in einer Windows Forms dynamisch aus einer XML Datei ein Menü das folgende Struktur hat:
Open
- App1
- App2
- App3
Jetzt will ich jedem der Subitems dynamisch ein Click Event hinzufügen das erstmal den Namen des Eintrags ausgibt.
Leider scheitere ich daran, ich schaffe es zwar das ClickEvent auszulösen, aber es wird dann immer eine Mesagebox ausgegeben so oft wie das Menü Einträge hat.
Hier mal der Code:
Und die Ausgabe:
Was mache ich hier flasch, danke!
ich erstelle in einer Windows Forms dynamisch aus einer XML Datei ein Menü das folgende Struktur hat:
Open
- App1
- App2
- App3
Jetzt will ich jedem der Subitems dynamisch ein Click Event hinzufügen das erstmal den Namen des Eintrags ausgibt.
Leider scheitere ich daran, ich schaffe es zwar das ClickEvent auszulösen, aber es wird dann immer eine Mesagebox ausgegeben so oft wie das Menü Einträge hat.
Hier mal der Code:
Code:
Private Sub get_links(ByVal source As Integer)
On Error Resume Next
Dim MenueItem() As ToolStripMenuItem = {ÖffnenToolStripMenuItem, RemoveShortcutToolStripMenuItem}
ReDim Preserve MenueItem(1)
MenueItem(source).DropDown.Items.Clear()
Dim doc As New XmlDocument
doc.Load(My.Application.Info.DirectoryPath & "\" & My.Application.Info.ProductName & "_Settings.xml")
Dim xnlIds As XmlNodeList = doc.SelectNodes("/application/app")
Dim xnId As XmlNode
For Each xnId In xnlIds
If source = 0 Then
AddHandler MenueItem(source).DropDown.Click, AddressOf open_click
ElseIf source = 1 Then
AddHandler MenueItem(source).DropDown.Click, AddressOf remove_click
End If
MenueItem(source).DropDown.Items.Add(xnId.ChildNodes.Item(0).InnerText)
Next
For i = 0 To MenueItem(source).DropDownItems.Count - 1
MenueItem(source).DropDownItems(i).Image = My.Resources.shell32_35
Next
End Sub
Und die Ausgabe:
Code:
Private Sub open_click(ByVal sender As System.Object, ByVal e As System.EventArgs)
MsgBox(sender.ToString)
End Sub
Was mache ich hier flasch, danke!