Dynamische Kontextmenü auf Treeview Knoten
-
21-08-2019 - |
Frage
Duplizieren von: Knoten unter Kontextmenü angeklickt finden
Ich habe ein Kontextmenü auf einem Treeview bekam, wenn der Benutzer klickt rechts auf der Grundlage des derzeit rechten klickten Knotens Tag-Objekt ändern soll.
Zur Zeit das Kontextmenüs in after_select Ereignisse mir Aktualisierung, aber dies funktioniert nicht, wenn der Benutzer direkt auf einem anderen Knoten klickt, ohne sie zu wählen.
Wie kann ich erkennen, welche Knoten rechts geklickt und das Kontextmenü ändern? Oder bin ich es falsch?
Lösung
Sie können das Mousedown-Ereignis verwenden und die HitTest Methode, um herauszufinden, welcher Knoten geklickt wurde.
Andere Tipps
Private Sub tvTables_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles tvTables.MouseDown
If e.Button = Windows.Forms.MouseButtons.Right Then
Dim M As New ContextMenuStrip
Dim HTI As TreeViewHitTestInfo = tvTables.HitTest(e.X, e.Y)
If HTI.Node.Level = 0 Then
M = T1Menu
ElseIf HTI.Node.Level = 1 Then
M = T2Menu
ElseIf HTI.Node.Level = 2 Then
M = T3Menu
End If
tvTables.ContextMenuStrip = M
tvTables.ContextMenuStrip.Show()
End If
End Sub
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow