C# TreeView用递归算法遍历磁盘文件及文件夹

 步骤一:首先设置根节点,并用SetTreeViewNode方法来填充子节点。

private void Form1_Load(object sender, EventArgs e)
        {
            string path = @"D:\Works";
            TreeNode node = this.treeView1.Nodes.Add(path.Substring(path.LastIndexOf('\\') + 1));
            SetTreeViewNode(path, node);
        }

步骤二:遍历所给路径目录,分别获取它们的文件和文件夹,并加入TreeView控件中。

private void SetTreeViewNode(string path,TreeNode node)
        {
            var directories = Directory.GetDirectories(path);
            if (directories != null)
            {
                foreach (var item in directories)
                {
                    var childrenNode = node.Nodes.Add(item.Substring(item.LastIndexOf('\\')+1));
                    SetTreeViewNode(item, childrenNode);
                }
            }

            var files = Directory.GetFiles(path);
            if (files != null)
            {
                foreach (var file in files)
                {
                    node.Nodes.Add(file.Substring(file.LastIndexOf('\\') + 1));
                }
            }
        }

效果如下:

 

此算法不是最优解,各位访客可加入下面qq群,进行讨论:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值