zoukankan      html  css  js  c++  java
  • 将指定目录下的所有子文件或子目录加载到TreeView

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    using System.IO;
    
    namespace 将指定目录下的所有子文件或子目录加载到TreeView
    {
        public partial class Form2 : Form
        {
            public Form2()
            {
                InitializeComponent();
            }
    
            private void button1_Click(object sender, EventArgs e)
            {
    
                #region 只加载子目录
    
                ////1.获取用户输入的路径path
                //string path = textBox1.Text.Trim();
    
    
                ////2.获取该路径下的所有的子文件夹
                ////2.1把这些所有文件夹加载到TreeView上
                //string[] dirs = Directory.GetDirectories(path);
                ////遍历所有的文件夹的路径加载到TreeView上
                //foreach (string item in dirs)
                //{
    
                //    treeView1.Nodes.Add(Path.GetFileName(item));
                //}
    
                ////3.获取指定目录下的所有的子文件
                ////3.1把这些文件加载到TreeView上
                //string[] files = Directory.GetFiles(path);
                //foreach (string item in files)
                //{
                //    treeView1.Nodes.Add(Path.GetFileName(item));
                //}
                #endregion
    
    
                #region 递归加载所有的目录,按照层次结构显示到TreeView 上
    
                //获取用户输入的一个路径
                string path = textBox1.Text.Trim();
    
    
                //调用该方法实现将指定路径下的子文件与子目录按照层次结构加载到TreeView
                LoadFilesAndDirectoriesToTree(path, treeView1.Nodes);
    
    
                //treeView1.Nodes
    
                //TreeNodeCollection c = treeView1.Nodes;
    
                //LoadData(path, c);
    
                #endregion
    
    
    
            }
    
            public void LoadData(string path, TreeNodeCollection collection)
            {
    
            }
    
    
            //将目录与文件加载到TreeView上
            private void LoadFilesAndDirectoriesToTree(string path, TreeNodeCollection treeNodeCollection)
            {
                //1.先根据路径获取所有的子文件和子文件夹
                string[] files = Directory.GetFiles(path);
                string[] dirs = Directory.GetDirectories(path);
                //2.把所有的子文件与子目录加到TreeView上。
                foreach (string item in files)
                {
                    //把每一个子文件加到TreeView上
                    treeNodeCollection.Add(Path.GetFileName(item));
                }
                //文件夹
                foreach (string item in dirs)
                {
                    TreeNode node = treeNodeCollection.Add(Path.GetFileName(item));
    
                    //由于目录,可能下面还存在子目录,所以这时要对每个目录再次进行获取子目录与子文件的操作
                    //这里进行了递归
                    LoadFilesAndDirectoriesToTree(item, node.Nodes);
                }
    
            }
    
            //public void M1()
            //{
            //    //...
            //    M1();
            //    //....
            //}
    
            //public void M2()
            //{
    
            //}
        }
    }
  • 相关阅读:
    PHP编程资源
    JSP+Java编程资源
    Word、Excel办公书的资源下载
    听你说
    一些好看的渐变色(配色)网站推荐
    js判断数组中是否包含某个元素
    你才是你故事的作者
    vue-color 颜色选择器插件用法介绍
    vue-cli3 导入.md文件,vue中markdown文件的解析与渲染
    新版 animate.css 在vue中的正确使用
  • 原文地址:https://www.cnblogs.com/blacop/p/6011596.html
Copyright © 2011-2022 走看看