private void 添加文件系统数据(DirectoryInfo 目标目录, TreeView 树状视图控件, TreeNode 父节点) { var n = 创建目录节点(目标目录); if (父节点 == null) { 树状视图控件.Nodes.Add(n); n.Selected = true; } else { var p = 父节点.RecursionSelect(q => q.ChildNodes.Cast<TreeNode>()).FirstOrDefault(q => q.Value == n.Value); if (p != null) n = p; else 父节点.ChildNodes.Add(n); } foreach (var f in 目标目录.GetDirectories()) { 添加文件系统数据(f, 树状视图控件, n); } foreach (var f in 目标目录.GetFiles()) { var t = 创建文件节点(f); n.ChildNodes.Add(t); } }