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只有一个节点是打开的