如何右键单击以在树视图控件中选择节点

时间:2011-08-31 13:00:19

标签: .net vb.net winforms .net-4.0 treeview

为什么我右键单击树视图中的节点,焦点移动到此节点,然后立即返回到先前选择的节点。有什么方法可以允许右键单击选择节点吗?

2 个答案:

答案 0 :(得分:27)

这是因为高亮颜色执行两个职责,它显示所选节点显示焦点节点。如果您没有对右键单击事件执行任何操作,则会跳转回所选节点。解决方法是选择节点:

    private void treeView1_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e) {
        if (e.Button == MouseButtons.Right) treeView1.SelectedNode = e.Node;
    }

加上你想做的任何其他事情,通常都会显示一个上下文菜单。

答案 1 :(得分:3)

道歉我稍微跳了一下枪,我发现如何做到如下:

    Private Sub TreeView1_NodeMouseClick(sender As Object, e As System.Windows.Forms.TreeNodeMouseClickEventArgs) Handles TreeView1.NodeMouseClick
        If e.Button = Windows.Forms.MouseButtons.Right Then
            TreeView1.SelectedNode = e.Node
        End If
    End Sub

虽然控制不应该这样做吗?