-1

我向树视图动态添加了一个上下文菜单(添加、取消)。现在我想在单击上下文菜单项单击时显示选定的树节点值。

我怎样才能做到这一点?

4

2 回答 2

2

我假设您想知道打开上下文菜单时右键单击了哪个节点?

要确定这一点,您可以处理树视图上的 mousedown 事件,并确保在显示上下文菜单之前选择您右键单击的节点。

    private void treeView1_MouseDown(object sender, MouseEventArgs e)
    {
        if (e.Button == MouseButtons.Right)
        {
            var node = treeView1.HitTest(e.X, e.Y).Node;
            treeView1.SelectedNode = node;
        }
    }

在 ToolStripMenuItem 的单击处理程序中,您可以检查 treeView1.SelectedNode,如果用户右键单击节点外的树视图,它将为空。

    private void addToolStripMenuItem_Click(object sender, EventArgs e)
    {
        if (treeView1.SelectedNode != null) MessageBox.Show("Node selected: " + treeView1.SelectedNode.Text);
    }
于 2009-08-04T09:01:02.647 回答
1

我假设您只需要知道树节点的文本?这段代码应该可以完成这项工作

string treeNodeText = this.treeView1.SelectedNode.Text;
于 2009-08-04T09:00:22.743 回答