[转] 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> . ...
随机推荐
- I.MX6 Kernel BUG at include/linux/netdevice.h:520!
/*************************************************************************** * I.MX6 Kernel BUG at i ...
- python库openpyxl操作excel
废话不多说,看代码,不懂的留言. from openpyxl import * class ExcelUtil: ''' 读取excel文件内容''' def create_work_book(sel ...
- CF1117C Magic Ship
CF1117C Magic Ship 考虑到答案具单调性(若第 \(i\) 天能到达目的点,第 \(i+1\) 天只需向风向相反的方向航行),可以二分答案. 现在要考虑给出一个天数 \(m\) ,问 ...
- BZOJ2154 Crash的数字表格 【莫比乌斯反演】
BZOJ2154 Crash的数字表格 Description 今天的数学课上,Crash小朋友学习了最小公倍数(Least Common Multiple).对于两个正整数a和b,LCM(a, b) ...
- 《DSP using MATLAB》示例Example 8.15
- python 开始学习
"人生苦短, 我用python" ---------以此敬意伟大的生产力创造!
- python模块--logging
一.logging模块的简单应用 import logging logging.debug('debug message') logging.info('ingo message') logging. ...
- GCC用法
http://www.cnblogs.com/hibernate6/archive/2010/08/24/2522057.html
- oracle之 oracle database vault(数据库保险库)
在12c建库中 Database Vault 与 Label Security 选项,之前没有留意过,特意记录一下 12.1 中: 12.2 中: 转载:http://www.linuxidc.co ...
- Linux之 手动释放内存
我们在进程中要怎样去描述一个文件呢?我们用目录项(dentry)和索引节点(inode).它们的定义如下: 所谓"文件", 就是按一定的形式存储在介质上的信息,所以一个文件其实包含 ...