博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[转] C#2010 在TreeView控件下显示路径下所有文件和文件夹
阅读量:7122 次
发布时间:2019-06-28

本文共 2651 字,大约阅读时间需要 8 分钟。

原文 ,

C#2010学习过程中有所收获,便总结下来,希望能给和我一样在学习遇到困难的同学提供参考。

本文主要介绍两个自定义函数,实现的功能是遍历路径下文件和文件夹并显示在TreeView控件中。
 
首先添加命名空间:
using System.Windows.Forms;
using System.IO;
 
函数代码如下:
 
#region 生成程序所在根目录的TreeView        private void PaintTreeView(TreeView treeView, string fullPath)        {            try            {                treeView.Nodes.Clear(); //清空TreeView                 DirectoryInfo dirs = new DirectoryInfo(fullPath); //获得程序所在路径的目录对象                DirectoryInfo[] dir = dirs.GetDirectories();//获得目录下文件夹对象                FileInfo[] file = dirs.GetFiles();//获得目录下文件对象                int dircount = dir.Count();//获得文件夹对象数量                int filecount = file.Count();//获得文件对象数量                 //循环文件夹                for (int i = 0; i < dircount; i++)                {                    treeView.Nodes.Add(dir[i].Name);                    string pathNode = fullPath + "\\" + dir[i].Name;                    GetMultiNode(treeView.Nodes[i], pathNode);                }                 //循环文件                for (int j = 0; j < filecount; j++)                {                    treeView.Nodes.Add(file[j].Name);                }            }            catch (Exception ex)            {                MessageBox.Show(ex.Message + "\r\n出错的位置为:Form1.PaintTreeView()");            }        }        #endregion         #region 遍历TreeView根节点下文件和文件夹        private bool GetMultiNode(TreeNode treeNode, string path)        {            if (Directory.Exists(path) == false)            { return false; }             DirectoryInfo dirs = new DirectoryInfo(path); //获得程序所在路径的目录对象            DirectoryInfo[] dir = dirs.GetDirectories();//获得目录下文件夹对象            FileInfo[] file = dirs.GetFiles();//获得目录下文件对象            int dircount = dir.Count();//获得文件夹对象数量            int filecount = file.Count();//获得文件对象数量            int sumcount = dircount + filecount;             if (sumcount == 0)            { return false; }             //循环文件夹            for (int j = 0; j < dircount; j++)            {                treeNode.Nodes.Add(dir[j].Name);                string pathNodeB = path + "\\" + dir[j].Name;                GetMultiNode(treeNode.Nodes[j], pathNodeB);            }             //循环文件            for (int j = 0; j < filecount; j++)            {                treeNode.Nodes.Add(file[j].Name);            }            return true;        }        #endregion

 

 
在Form1_Load中直接调用PaintTreeView函数,并赋参数就可以了。其中,此处
fullPath为程序所在路径,可自行定义
 
程序调用显示效果如下如所示:
 
没有整理与归纳的知识,一文不值!高度概括与梳理的知识,才是自己真正的知识与技能。 永远不要让自己的自由、好奇、充满创造力的想法被现实的框架所束缚,让创造力自由成长吧! 多花时间,关心他(她)人,正如别人所关心你的。理想的腾飞与实现,没有别人的支持与帮助,是万万不能的。
    本文转自wenglabs博客园博客,原文链接:http://www.cnblogs.com/arxive/p/5708999.html
,如需转载请自行联系原作者
你可能感兴趣的文章
java 基础随笔
查看>>
mock测试尝试
查看>>
html alert 的三种方式
查看>>
sql分页查询
查看>>
在Eclipes中查看源代码和大纲快速定位
查看>>
让技术跟英语一起牛B
查看>>
未在本地计算机上注册“microsoft.ACE.oledb.12.0”提供程序解决办法
查看>>
行内元素的行高对布局也有影响
查看>>
poj3264(简单线段树)
查看>>
锁、volatile、CAS的比较
查看>>
sql数据库查询
查看>>
开博第一篇——代码仓库
查看>>
CCF201512-2 消除类游戏(100分)
查看>>
HDU2099 整除的尾数【模除】
查看>>
Android笔记之dp与px之间的转换以及LayoutParams
查看>>
javascript中缺少分号结尾的情况
查看>>
【LeetCode】111 - Minimum Depth of Binary Tree
查看>>
实验四 Android程序设计
查看>>
RabbitMQ - Start Up
查看>>
css盒子模型、边框border、外边距margin、填充padding、轮廓outline
查看>>