TreeView 显示指定路径下的所有文件和文件夹

本文介绍了一个使用C#实现的功能,该功能能够递归地加载指定目录下的所有子目录和文件,并将它们显示在一个TreeView控件中。具体实现了通过Directory类获取目录和文件列表,并创建了相应的TreeNode对象来表示这些条目。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  private void Form2_Load(object sender, EventArgs e)
        {
            TreeNode tn = new TreeNode();

            tn.Text = "根目录";

            getDirectories("D:\\工作相关\\TreeView\\SecureTree\\SecureTree", tn);

            tvShow.Nodes.Add(tn);
        }




        /// <summary>


        /// 循环遍历获得某一目录下的所有文件信息


        /// </summary>


        /// <param name="path">目录名</param>


        /// <param name="tn">树节点</param>


        private void getDirectories(string path, TreeNode tn)
        {


            string[] fileNames = Directory.GetFiles(path);
            string[] directories = Directory.GetDirectories(path);


            //先遍历这个目录下的文件夹
            foreach (string dir in directories)
            {

                TreeNode subtn = new TreeNode();

                subtn.Text = GetShorterFileName(dir);

                getDirectories(dir, subtn);

                tn.Nodes.Add(subtn);

            }





            //再遍历这个目录下的文件
            foreach (string file in fileNames)
            {

                TreeNode subtn = new TreeNode();

                subtn.Text = GetShorterFileName(file);

                tn.Nodes.Add(subtn);

            }

        }





        /// <summary>
        /// 滤去文件名前面的路径
       /// </summary>
        /// <param name="filename"></param>
        /// <returns></returns>
        private string GetShorterFileName(string filename)
        {

            return filename.Substring(filename.LastIndexOf("\\")+1);

        }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值