C#:依据目录填充树视图
#region 依据目录填充树视图 /// <summary>
/// 依据文件夹目录,填充树视图
/// </summary>
/// <param name="dirPath">跟目录路径</param>
/// <param name="loopflag">是否循环子文件夹</param>
public void FillTreeView(TreeView treeView, string dirPath, bool loopflag)
{ try
{
// 检查目标目录是否以目录分割字符结束如果不是则添加之
if (dirPath[dirPath.Length - 1] != System.IO.Path.DirectorySeparatorChar)
{
dirPath += System.IO.Path.DirectorySeparatorChar;
} // 判断目标目录是否存在如果不存在则新建之
if (!System.IO.Directory.Exists(dirPath))
{
DialogResult result = MessageBox.Show(dirPath + " 目录不存在是否创建?", "提示", MessageBoxButtons.YesNo);
if (DialogResult.Yes == result)
{
System.IO.Directory.CreateDirectory(dirPath);
}
else
{
return;
}
} treeView.Nodes.Clear(); //string tempPath = dirPath.Substring(0, dirPath.Length - 1);
//string dir = tempPath.Substring(tempPath.LastIndexOf(System.IO.Path.DirectorySeparatorChar), tempPath.Length); TreeNode rootNode = new TreeNode();
rootNode.Text = dirPath;
rootNode.Tag = dirPath;
treeView.Nodes.Add(rootNode); string[] fileList = null;
if (!loopflag)
{
// 如果你指向copy目标文件下面的文件而不包含目录请使用下面的方法
fileList = Directory.GetFiles(dirPath);
}
else
{
// 得到源目录的文件列表,该里面是包含文件以及目录路径的一个数组
fileList = System.IO.Directory.GetFileSystemEntries(dirPath);
} AddNodes(rootNode, fileList, loopflag);
} catch (Exception ex)
{
MessageBox.Show("目录树视图显示失败! " + ex);
//throw;
}
} public void AddNodes(TreeNode parentNode, string[] fileList, bool loopflag)
{
try
{
// 遍历所有的文件和目录
foreach (string file in fileList)
{
TreeNode nowNode = new TreeNode(); string filename = file.Substring(file.LastIndexOf(System.IO.Path.DirectorySeparatorChar));
nowNode.Text = filename;
//nowNode.Text = file;
nowNode.Tag = file;
parentNode.Nodes.Add(nowNode); if (System.IO.Directory.Exists(file))
{
string[] fllist = System.IO.Directory.GetFileSystemEntries(file);
AddNodes(nowNode, fllist, loopflag);
}
}
}
catch (System.Exception ex)
{
throw ex;
}
} #endregion
C#:依据目录填充树视图的更多相关文章
- C#:将空间数据加载到树视图控件
自己 整理了 下 代码 测试了下 还行... #region 操作树视图控件 /// <summary> /// 自定义需要的类型 /// </summary> enum Da ...
- SAP CRM 树视图(TREE VIEW)
树视图可以用于表示数据的层次. 例如:SAP CRM中的组织结构数据可以表示为树视图. 在SAP CRM Web UI的术语当中,没有像表视图(table view)或者表单视图(form view) ...
- MVC 多级目录(控制器) 路由重写 及 多级Views目录 的寻找视图的规则
转自:[原]Asp.net Mvc 多级控制器 路由重写 及 多级Views目录 的寻找视图的规则 asp.net mvc 为了更好的控制views的页面存放,和控制器的可读性,需要分开多级目录来 ...
- Cocos2d-x 坑之一:Xcode文件真实目录与工程视图目录
Cocos2d-x一定要保证 Xcode文件真实目录与工程视图目录 的一致性,不然,会出现文件读取不了,或include不了的情况. 如果出现此类情况,优先查看真实目录的结构.
- SharePoint 创建网站地图树视图及格式枚举截图
SharePoint 创建网站地图树视图及格式枚举截图 SharePoint首页隐藏掉左側导航以后,假设要以树视图呈现站点地图也非常easy. 仅仅须要复制v4.mas ...
- WinForm 数据库无限填充树目录 treeView
我自己想的是处理数据库每一条数据,然后来插入子节点的子节点. 奈何没有插入子节点的子节点的办法,百度来百度去,一看全都是递归. 本来我是绝望的, 但是没办法,老板的需求不能驳回啊,于是就来ctrl c ...
- shell 生成目录的树状视图、生成文件及子目录的汇总信息
-exec 创建子shell $ find . -exec sh -c 'echo -n {} | tr -d "[:alnum:]_.\-" | \ tr "/&quo ...
- Asp.net Mvc 多级控制器 路由重写 及 多级Views目录 的寻找视图的规则 (多级路由) 如:Admin/Test/Index
http://blog.csdn.net/buhuan123/article/details/26387427 目录(?)[-] 1那么我们再来看我们需要的访问方式如下图 razor视图的地址写成通配 ...
- Yii 1.1.17 一、安装、目录结构、视图、控制器、扩展自定义函数
这几天了解了一下Yii框架,以简单的博客项目实战入门.大致的实现流程做个记录. 一.Yii 安装与环境检测 从 www.yiiframework.com 获取一份Yii的拷贝,解压到 /wwwroot ...
随机推荐
- object-c的异常处理机制
转载请注明:http://blog.sina.com.cn/s/blog_69081e060100utl5.html 一直听说iOS有异常处理机制,却从来没有关系过,今天小生就来关心下iOS的异常 ...
- Dual-polarity supply provides ±12V from one IC
LT1961 升压型稳压器造就了兼具升压和降压能力的扁平状SEPIC Transformerless dc/dc converter produces bipolar outputs Well-reg ...
- CC1101是一种低成本真正单片的UHF收发器
CC1101是一种低成本真正单片的UHF收发器,为低功耗无线应用而设计.电路主要设定为在315.433.868和915MHz的ISM(工业,科学和医学)和SRD(短距离设备)频率波段,也可以容易地设置 ...
- java计算代码执行时间
有时候为了排查性能问题,需要记录完成某个操作需要的时间,我们可以使用System类的currentTimeMillis()方法来返回当前的毫秒数,并保存到一个变量中,在方法执行完毕后再次调用 Syst ...
- Spring集合 (List,Set,Map,Properties) 实例
下面例子向您展示Spring如何注入值到集合类型(List, Set, Map, and Properties). 支持4个主要的集合类型: List – <list/> Set – &l ...
- [翻译] DFCircleActivityIndicator DF圆形活动状态指示器
DFCircleActivityIndicator Native, customizable and animated circular view to show when long activity ...
- MySQL解决[Err] 1206 - The total number of locks exceeds the lock table size问题
MySQL解决[Err] 1206 - The total number of locks exceeds the lock table size问题 查看MySQL版本:mysql>show ...
- html5的classList属性介绍和原生js实现jQuery的addClass,removeClass,hasClass方法
其实html5已经扩展了class操作的相关API,其中classList属性就以及实现了class的增删和判断. classList属性的方法有: add(value) 添加类名,如果有则不添加 c ...
- tomcat(5)servlet容器
[0]README 0.0)本文部分文字描写叙述转自:"深入剖析tomcat",旨在学习 tomcat(5)servlet容器 的基础知识. 0.1)intro to servle ...
- PHP实现双向链表
看了很久数据结构但是没有怎么用过,在网上看到了关于PHP的数据结构,学习了一下,与大家一起分享一下.上一次分享了链表,这次来补充说一下双向链表. 简短不割 ...