Динамическое контекстное меню на узлах Treeview
Дубликат : найти узел, щелкнутый в контекстном меню
У меня есть контекстное меню на Treeview, когда пользователь щелкает Правой Кнопкой Мыши, оно должно измениться на основе текущего объекта тега узла, щелкнутого Правой Кнопкой Мыши.
В настоящее время я обновляю контекстное меню в событии after_select, однако это не работает, когда пользователь щелкает правой кнопкой мыши на другой узел, не выбрав его.
Как я могу определить, какой узел щелкнул правой кнопкой мыши и изменить контекстное меню? Или я делаю это неправильно?
2 ответа:
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