Открыть контекстное меню на выбранном узле TreeView - PullRequest
0 голосов
/ 03 марта 2011

В чем проблема с этим кодом?

 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 Ответ

1 голос
/ 03 марта 2011

Перегрузка ContextMenuStrip.Show (Point) требует, чтобы точка находилась в экранных координатах.Исправьте:

 mnuRoot.Show(trvHeader, p)

или используйте Control.PointToScreen ()

...