[转] C#2010 在TreeView控件下显示路径下所有文件和文件夹
C#2010学习过程中有所收获,便总结下来,希望能给和我一样在学习遇到困难的同学提供参考。
#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

[转] C#2010 在TreeView控件下显示路径下所有文件和文件夹的更多相关文章
- C#TreeView控件遍历文件夹下所有子文件夹以及文件
一直对递归的理解不深刻,有时候觉得很简单,可是用起来总会出错.这里需要在TreeView控件里显示一个文件夹下的所有目录以及文件,毫无意外的需要用到递归. 一开始,想到用递归写一个生成每一个节点(Tr ...
- Winform TreeView控件技巧
在开发的时候经常使用treeview控件来显示组织结构啊,目录结构啊,通常会结合属性checkedboxs,来做选中,取消的操作下面是一个选中,取消的小例子,选中节点的时候,如果节点存在子节点,可以选 ...
- Visual Studio 2010下ASPX页面的TreeView控件循环遍历
如果维护一个老系统就总会遇到各种问题,而这次是TreeView的循环遍历.对于Visual Studio2010上aspx页面的TreeView控件,我感受到了什么叫集微软之大智慧.与二叉树型不一样. ...
- Delphi下Treeview控件基于节点编号的访问
有时我们需要保存和重建treeview控件,本文提供一种方法,通过以树结构节点的编号访问树结构,该控件主要提供的方法如下: function GetGlobeNumCode(inNode:T ...
- Delphi下Treeview控件基于节点编号的访问1
有时我们需要保存和重建treeview控件,本文提供一种方法,通过以树结构节点的编号访问树结构,该控件主要提供的方法如下: function GetGlobeNumCode(inNode:T ...
- 在工作表左侧中添加TreeView控件
开发环境基于VSTO:visual studio 2010,VB .Net,excel 2007,文档级别的定制程序. 需求是在sheet的左侧停靠System.Windows.Forms.TreeV ...
- TreeView控件使用
treeView1.SelectedNode = treeView1.Nodes[0]; //选中当前treeview控件的根节点为当前节点添加子节点: TreeNode tmp; tmp = n ...
- 基于Treeview控件遍历本地磁盘
一.前言 Treeview控件常用于遍历本地文件信息,通常与Datagridview与ImageList搭配.ImageList控件用于提供小图片给TreeView控件,DatagridView通常显 ...
- asp TreeView控件的使用
相对于之前发过一个TreeView控件的使用方法 本次利用js操作,页面无刷新,性能提高 Css编码可能时我的模板页样式被继承下来,导致页面变乱,不需要的可以去掉 前台 <style> . ...
随机推荐
- 一步步搭建自己的web服务器
IIS或者其他Web服务器究竟做了哪些工作,让浏览器请求一个URL地址后显示一个漂亮的网页?要想弄清这个疑问,我想我们可以自己写一个简单的web服务器. 思路: 创建socket监听浏览器请求. 连接 ...
- selenium-java,启动谷歌浏览器和火狐浏览器
selenium3.4.0-java,启动谷歌浏览器和火狐浏览器-------------------------------------------------------------------- ...
- HihoCoder 1033交错和(数位DP第三题)
(写挂了,有空再补) 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 给定一个数 x,设它十进制展从高位到低位上的数位依次是 a0, a1, ..., an - 1,定义 ...
- 每天一个linux命令:【转载】touch命令
linux的touch命令不常用,一般在使用make的时候可能会用到,用来修改文件时间戳,或者新建一个不存在的文件. 1.命令格式: touch [选项]... 文件... 2.命令参数: -a ...
- POJ3686 The Windy's 【费用流】*
POJ3686 The Windy’s Description The Windy’s is a world famous toy factory that owns M top-class work ...
- 如何创建一个基于命令行工具的跨平台的 NuGet 工具包
命令行可是跨进程通信的一种非常方便的手段呢,只需启动一个进程传入一些参数即可完成一些很复杂的任务.NuGet 为我们提供了一种自动导入 .props 和 .targets 的方法,同时还是一个 .NE ...
- 移动端base.css
html { color: #333; /*规定主色调,依据业务场景(非必须)*/ background: #F6F6F6; /*规定主背景,依据业务场景(非必须)*/ overflow-y: aut ...
- 使用 lego生成 Let's Encrypt 证书
1. 工具 https://github.com/xenolf/lego 2. 使用 命令生成新的 lego --email="foo@bar.com" --domains=& ...
- Hibernate One-to-One Mappings 一对一关系映射
Hibernate One-to-One Mappings 一对一关系映射 关键:一对一关系映射和多对一关系映射非常像.仅仅是unique 属性值为 true 样例:一个员工仅仅能有一个地址. Hib ...
- ubuntu技巧
在终端界面里面查找,命令:ctrl + shift +f VMware 中 Ubuntu 不能全屏: 转到虚拟机-->安装VMware Tools 把装载的 VMware Tools CD里面的 ...