如何显示所选文件夹中存在的子文件夹

本文关键字:文件夹 存在 何显示 显示 | 更新日期: 2023-09-27 18:34:58

我有一个文本框,它接受所选文件夹的路径。我需要在树视图中显示该文件夹中存在的所有子文件夹。

我该怎么做?

如何显示所选文件夹中存在的子文件夹

string Path = @"C:'Temp Folder'";
string[] folders = System.IO.Directory.GetDirectories(Path, "*", System.IO.SearchOption.TopDirectoryOnly); 
       TreeNode treeNode = new TreeNode(Path);          
        TreeNode subNode;
        for (int i = 0; i < folders.Length; i++)
        {
            subNode = new TreeNode(folders[i].ToString());
            treeNode.Nodes.Add(subNode);            
        }
        treeView1.Nodes.Add(treeNode);  

以下代码将帮助你。

           DirectoryInfo parentInfo = new DirectoryInfo(@"path");
           DirectoryInfo[] childInfo= parentInfo.GetDirectories();
           treeView1.Nodes.Add(parentInfo.Name);
            foreach(DirectoryInfo di in childInfo)
            {
                treeView1.Nodes[0].Nodes.Add(di.Name);
            }

我过去使用 VB.net 做过这个(我很快就会为你转换它(您只需要一个递归函数

YourTreeViewControl.Nodes.Add("C:'Temp")
Recursive(@"C:'Temp", Tree.Nodes(0))
    void Recursive(string d, TreeNode nodePar)
    {
        DirectoryInfo dir = new DirectoryInfo(d);
        foreach (var item in dir.GetDirectories()) {
            Recursive(item.FullName, nodePar.Nodes.Add(item.Name));
        }
    }