0

選択したフォルダーのパスを受け入れるテキスト ボックスが 1 つあります。そして、そのフォルダーに存在するすべてのサブフォルダーを TreeView に表示する必要があります。

これどうやってするの?

4

3 に答える 3

2
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);  
于 2012-05-23T11:15:37.917 に答える
0

私は過去に 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));
        }
    }
于 2012-05-23T10:15:17.903 に答える
0

次のコードが役立ちます。

           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);
            }
于 2012-05-23T12:12:49.860 に答える