树视图和双选

时间:2013-09-26 09:58:32

标签: c# winforms treeview

您好。当我双击它时,我有一个TreeView它会扩展。我的方法只显示一个节点(选中,其他开放节点自动关闭)

void treeView1_BeforeSelect(object sender, TreeViewCancelEventArgs e)
    {
        foreach (TreeNode node in e.Node.Parent.Nodes)
        {
            if (node != e.Node)
                treeView1.CollapseAll();

        }
    }

问题是当我单击鼠标时此方法有效,但是当我双击它时树会折叠。我需要treeView1_BeforeSelect双击执行。

日Thnx

1 个答案:

答案 0 :(得分:0)

这很可能是因为BeforeSelect在双击引发的默认行为之前执行。因此,您所需的结果将被消除。自己处理双击事件,并执行相同的操作:

public void treeView1_NodeMouseDoubleClick(Object sender, TreeNodeMouseClickEventArgs e)
{
    foreach (TreeNode node in e.Node.Parent.Nodes)
    {
        if (node != e.Node)
            treeView1.CollapseAll();
    }

    e.Node.Expand();
}