2011-03-03 80 views
0

此代码有什么问题?在选定TreeView节点上打开上下文菜单

Private Sub trvHeader_NodeMouseClick(ByVal sender As Object, ByVal e As System.Windows.Forms.TreeNodeMouseClickEventArgs) Handles trvHeader.NodeMouseClick 
      If e.Button = Windows.Forms.MouseButtons.Right Then 
       trvHeader.SelectedNode = e.Node 
       Dim p As Point = New Point(e.X, e.Y) 

       mnuRoot.Show(p) 
      End If 
     End Sub 

上下文菜单没有在正确的位置打开。

回答

1

的ContextMenuStrip.Show(点)的过载需要指向在屏幕坐标。修复:

mnuRoot.Show(trvHeader, p) 

或使用Control.PointToScreen()

相关问题