在WinForms中实现TreeView的递归加载可以通过以下方法来实现:
private void LoadTreeNodes(TreeNode parentNode, string path) { // 获取指定路径下的所有子目录 string[] directories = Directory.GetDirectories(path); // 遍历子目录并添加到父节点下 foreach (string directory in directories) { TreeNode node = new TreeNode(Path.GetFileName(directory)); parentNode.Nodes.Add(node); // 递归加载子目录 LoadTreeNodes(node, directory); } // 获取指定路径下的所有文件 string[] files = Directory.GetFiles(path); // 遍历文件并添加到父节点下 foreach (string file in files) { TreeNode node = new TreeNode(Path.GetFileName(file)); parentNode.Nodes.Add(node); } } private void treeView1_AfterExpand(object sender, TreeViewEventArgs e) { TreeNode node = e.Node; if (node.Nodes.Count == 0) { string path = GetPathFromTreeNode(node); LoadTreeNodes(node, path); } } 请注意,以上代码中的GetPathFromTreeNode方法是一个自定义方法,用于获取节点对应的目录路径。通过以上方法,您可以实现TreeView的递归加载功能。