Menú de contexto dinámico en Treeview Nodos
-
21-08-2019 - |
Pregunta
duplicado de: Encuentra nodo hecho clic en el menú de contexto
Tengo un menú contextual en una vista de árbol, cuando el derecho de usuario clics que supone cambiar basado en objeto etiqueta del nodo se ha hecho clic Actualmente derecha.
Actualmente estoy actualizando el menú contextual en after_select caso, sin embargo, esto no funciona cuando el usuario hace clic derecho a otro nodo sin seleccionarlo.
¿Cómo puedo detectar qué nodo clic derecho y cambiar el menú de contexto? O estoy haciendo mal?
Solución
Puede utilizar el evento MouseDown y el método HitTest para averiguar qué nodo se ha hecho clic.
Otros consejos
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
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow