//方法(用递归) private TreeNode FindNode(TreeNode tnParent, string strValue) { if (tnParent == null) return null; if (tnParent.Text.IndexOf(strValue) > -1) //如果不需要模糊,这里改为tnParent.Text==strValue { return tnParent; } TreeNode tnRet = null; foreach (TreeNode tn in tnParent.Nodes) { tnRet = FindNode(tn, strValue); if (tnRet != null) break; } return tnRet; } 调用 TreeNode tnRet = null; foreach (TreeNode tn in tvMenu.Nodes) //tvMenu 为treeview { tnRet = FindNode(tn, txtLeftFind.Text.Trim()); if (tnRet != null) { tvMenu.SelectedNode = tnRet; //找到就选中他 break; } }