TreeView 一个节点展开时,关闭其他节点

   private void TrV_AfterExpand(object sender, TreeViewEventArgs e)
        {
            TreeNode tn = e.Node;
            if (tn.Parent != null)
            {
                foreach (TreeNode node in tn.Parent.Nodes)
                {
                    if (tn != node)
                    {
                        node.Collapse();
                    }
                }
            }
            //找到目标node的总根节点,然后收缩其他的根节点
            while (tn.Parent != null)
                tn = tn.Parent;
            foreach (TreeNode node in TrV.Nodes)
            {
                if (tn != node)
                {
                    node.Collapse();
                }
            }
        }

保持TreeView只有一个节点是打开的

posted @ 2013-04-01 14:52  L嗜血幽灵  阅读(646)  评论(0编辑  收藏  举报