TreeView 查找指定节点
/// <summary> /// 查找指定节点 /// </summary> /// <param name="tnParent">节点</param> /// <param name="strValue">值</param> /// <returns></returns> private TreeNode FindNode(TreeNode tnParent, string strValue) { TreeNode treeNode2 = new TreeNode(); string venueCode = ""; if (tnParent == null) return null; if (tnParent.Value == strValue) return tnParent; tnParent.Expand(); TreeNode tnRet = null; foreach (TreeNode tn in tnParent.ChildNodes) { //获得节点Value if (venueCode == "") { //记录节点 treeNode2 = tn; venueCode = tn.Value; } else { //当选择节点发生变化时 if (venueCode != tn.Value) { treeNode2.Collapse(); venueCode = tn.Value; treeNode2 = tn; } } tnRet = FindNode(tn, strValue); if (tnRet != null) break; } return tnRet; } 方法调用如下: //循环查找节点 foreach (TreeNode node in this.TreeView1.Nodes) { TreeNode treeNode = FindNode(node, venueCode); if (treeNode != null) { treeNode.CollapseAll(); treeNode.Selected = true; state = 1; break; } }