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 = ; i < dircount; i++)
{
treeView.Nodes.Add(dir[i].Name);
string pathNode = fullPath + "\\" + dir[i].Name;
GetMultiNode(treeView.Nodes[i], pathNode);
} //循环文件
for (int j = ; 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 == )
{ return false; } //循环文件夹
for (int j = ; j < dircount; j++)
{
treeNode.Nodes.Add(dir[j].Name);
string pathNodeB = path + "\\" + dir[j].Name;
GetMultiNode(treeNode.Nodes[j], pathNodeB);
} //循环文件
for (int j = ; j < filecount; j++)
{
treeNode.Nodes.Add(file[j].Name);
}
return true;
}
#endregion
 
在Form1_Load中直接调用PaintTreeView函数,并赋参数就可以了。其中,此处fullPath为程序所在路径,可自行定义。
 
程序调用显示效果如下如所示:
 

[转] C#2010 在TreeView控件下显示路径下所有文件和文件夹的更多相关文章

  1. C#TreeView控件遍历文件夹下所有子文件夹以及文件

    一直对递归的理解不深刻,有时候觉得很简单,可是用起来总会出错.这里需要在TreeView控件里显示一个文件夹下的所有目录以及文件,毫无意外的需要用到递归. 一开始,想到用递归写一个生成每一个节点(Tr ...

  2. Winform TreeView控件技巧

    在开发的时候经常使用treeview控件来显示组织结构啊,目录结构啊,通常会结合属性checkedboxs,来做选中,取消的操作下面是一个选中,取消的小例子,选中节点的时候,如果节点存在子节点,可以选 ...

  3. Visual Studio 2010下ASPX页面的TreeView控件循环遍历

    如果维护一个老系统就总会遇到各种问题,而这次是TreeView的循环遍历.对于Visual Studio2010上aspx页面的TreeView控件,我感受到了什么叫集微软之大智慧.与二叉树型不一样. ...

  4. Delphi下Treeview控件基于节点编号的访问

    有时我们需要保存和重建treeview控件,本文提供一种方法,通过以树结构节点的编号访问树结构,该控件主要提供的方法如下:      function GetGlobeNumCode(inNode:T ...

  5. Delphi下Treeview控件基于节点编号的访问1

    有时我们需要保存和重建treeview控件,本文提供一种方法,通过以树结构节点的编号访问树结构,该控件主要提供的方法如下:      function GetGlobeNumCode(inNode:T ...

  6. 在工作表左侧中添加TreeView控件

    开发环境基于VSTO:visual studio 2010,VB .Net,excel 2007,文档级别的定制程序. 需求是在sheet的左侧停靠System.Windows.Forms.TreeV ...

  7. TreeView控件使用

    treeView1.SelectedNode = treeView1.Nodes[0];  //选中当前treeview控件的根节点为当前节点添加子节点:  TreeNode tmp; tmp = n ...

  8. 基于Treeview控件遍历本地磁盘

    一.前言 Treeview控件常用于遍历本地文件信息,通常与Datagridview与ImageList搭配.ImageList控件用于提供小图片给TreeView控件,DatagridView通常显 ...

  9. asp TreeView控件的使用

    相对于之前发过一个TreeView控件的使用方法 本次利用js操作,页面无刷新,性能提高 Css编码可能时我的模板页样式被继承下来,导致页面变乱,不需要的可以去掉 前台 <style> . ...

随机推荐

  1. ssm框架实现图片上传显示并保存地址到数据库

    本案例是通过springmvc+spring+mybatis框架以商品上传为例,实现的图片上传功能,并把图片的地址保存到数据库并在前台显示上传的图片. 本项目是使用maven搭建的项目,首先看下项目结 ...

  2. BZOJ3489 A simple rmq problem 【可持久化树套树】*

    BZOJ3489 A simple rmq problem Description 因为是OJ上的题,就简单点好了.给出一个长度为n的序列,给出M个询问:在[l,r]之间找到一个在这个区间里只出现过一 ...

  3. BZOJ5298 CQOI2018 交错序列 【DP+矩阵快速幂优化】*

    BZOJ5298 CQOI2018 交错序列 [DP+矩阵快速幂优化] Description 我们称一个仅由0.1构成的序列为"交错序列",当且仅当序列中没有相邻的1(可以有相邻 ...

  4. JAVA类的加载、连接与初始化

    JAVA类的加载.连接与初始化 类的声明周期总共分为5个步骤1.加载2.连接3.初始化4.使用5.卸载 当java程序需要某个类的时候,java虚拟机会确保这个类已经被加载.连接和初始化,而连接这个类 ...

  5. Adobe Acrobat 9 Pro破解方法

    首先安装Adobe Acrobat 9 Pro,默认安装在C盘. 如果你的系统盘是C盘,那么就删除:c:/Documents and Settings/All Users/Application Da ...

  6. 国外牛人的五个Kubernetes学习建议

    现在云中存在的许多系统都是建立在基于虚拟机,虚拟磁盘等物理概念的抽象基础之上的,”Heptio的联合创始人兼首席技术官兼Kubernetes在Google的原始开发人员之一的Joe Beda说. “K ...

  7. 嵌入式视频采集编程思路(Video 4 Linux)-转

    转自:http://zyg0227.blog.51cto.com/1043164/271954 1.  linux 内核有video for linux简称V4L.V4L是Linux影像系统与嵌入式影 ...

  8. UOJ #54 时空穿梭 —— 计数+莫比乌斯反演+多项式系数

    题目:http://uoj.ac/problem/54 10分还要用 Lucas 定理囧...因为模数太小了不能直接算... #include<cstdio> #include<cs ...

  9. ZooKeeper+Kafka+Storm

    http://www.cnblogs.com/panfeng412/archive/2012/11/30/how-to-install-and-deploy-storm-cluster.html

  10. 使用JDK合成照片

    原图(工程所在目录7098849.jpg): 头像(工程所在目录20181023201750.jpg): 开始合成(执行如下main方法): public static void main(Strin ...