Handler hinzufügen, um Dynamisch erzeugten Context-Menü
Ich Auffüllen müssen ein Kontextmenü aus einer Datenbank zur Laufzeit. Ich weiß nicht, die Anzahl der Elemente in der Liste, also würde ich gerne behandeln des click-Ereignisses an einer einzigen Stelle. Wie kann ich erklären, die handler, so kann ich sagen, welcher Menüpunkt eigentlich der Auslöser für den Klick.
Public Function GetBookmarkContextMenu(ByVal aBookmark As Bookmark) As System.Windows.Controls.ContextMenu
Dim myContextMenu As New Controls.ContextMenu
myContextMenu.Name = "BookmarkMenu"
For Each aMailingList As MasterService.FalconBookmarkMailingListType In GlobalUserSettings.MailingLists
Dim mySubMenuItem As New Controls.MenuItem
mySubMenuItem.Name = "MailingListName" & aMailingList.ID.ToString
mySubMenuItem.Header = aMailingList.Title
AddHandler (myMenuItem.Click), AddressOf ForwardToList_Click
mySubMenuItem.IsEnabled = True
myMenuItem.Items.Add(mySubMenuItem)
Next
myContextMenu.Items.Add(myMenuItem)
return myContextMenu
End Function
Public Sub ForwardToList_Click()
'How do I know which of the dynamically created items was clicked?
End Sub
InformationsquelleAutor user38349 | 2008-11-17
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ihre ForwardToList_Click() sollten die Parameter für die sender-und event-args:
"Absender" ist das Steuerelement, das das Ereignis hervorgerufen hat, das ist was ich glaube, was du bist suchen für.
InformationsquelleAutor Jon B
InformationsquelleAutor AundyKarthick
Nicht einen Kommentar hinzufügen, so werde ich ihn hier. Ausgezeichnete Antwort von AundyKarthick einfach aus
mein Ergebnis war:
Erstellen Sie zunächst ein contextmenustrip auf dem Formular in diesem Fall ContextMenuStrip1
InformationsquelleAutor user3156869