#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#:依据目录填充树视图的更多相关文章

  1. C#:将空间数据加载到树视图控件

    自己 整理了 下 代码 测试了下 还行... #region 操作树视图控件 /// <summary> /// 自定义需要的类型 /// </summary> enum Da ...

  2. SAP CRM 树视图(TREE VIEW)

    树视图可以用于表示数据的层次. 例如:SAP CRM中的组织结构数据可以表示为树视图. 在SAP CRM Web UI的术语当中,没有像表视图(table view)或者表单视图(form view) ...

  3. MVC 多级目录(控制器) 路由重写 及 多级Views目录 的寻找视图的规则

    转自:[原]Asp.net Mvc   多级控制器 路由重写 及 多级Views目录 的寻找视图的规则 asp.net mvc 为了更好的控制views的页面存放,和控制器的可读性,需要分开多级目录来 ...

  4. Cocos2d-x 坑之一:Xcode文件真实目录与工程视图目录

    Cocos2d-x一定要保证 Xcode文件真实目录与工程视图目录 的一致性,不然,会出现文件读取不了,或include不了的情况. 如果出现此类情况,优先查看真实目录的结构.

  5. SharePoint 创建网站地图树视图及格式枚举截图

    SharePoint 创建网站地图树视图及格式枚举截图         SharePoint首页隐藏掉左側导航以后,假设要以树视图呈现站点地图也非常easy.         仅仅须要复制v4.mas ...

  6. WinForm 数据库无限填充树目录 treeView

    我自己想的是处理数据库每一条数据,然后来插入子节点的子节点. 奈何没有插入子节点的子节点的办法,百度来百度去,一看全都是递归. 本来我是绝望的, 但是没办法,老板的需求不能驳回啊,于是就来ctrl c ...

  7. shell 生成目录的树状视图、生成文件及子目录的汇总信息

    -exec 创建子shell $ find . -exec sh -c 'echo -n {} | tr -d "[:alnum:]_.\-" | \ tr "/&quo ...

  8. Asp.net Mvc 多级控制器 路由重写 及 多级Views目录 的寻找视图的规则 (多级路由) 如:Admin/Test/Index

    http://blog.csdn.net/buhuan123/article/details/26387427 目录(?)[-] 1那么我们再来看我们需要的访问方式如下图 razor视图的地址写成通配 ...

  9. Yii 1.1.17 一、安装、目录结构、视图、控制器、扩展自定义函数

    这几天了解了一下Yii框架,以简单的博客项目实战入门.大致的实现流程做个记录. 一.Yii 安装与环境检测 从 www.yiiframework.com 获取一份Yii的拷贝,解压到 /wwwroot ...

随机推荐

  1. object-c的异常处理机制

    转载请注明:http://blog.sina.com.cn/s/blog_69081e060100utl5.html   一直听说iOS有异常处理机制,却从来没有关系过,今天小生就来关心下iOS的异常 ...

  2. Dual-polarity supply provides ±12V from one IC

    LT1961 升压型稳压器造就了兼具升压和降压能力的扁平状SEPIC Transformerless dc/dc converter produces bipolar outputs Well-reg ...

  3. CC1101是一种低成本真正单片的UHF收发器

    CC1101是一种低成本真正单片的UHF收发器,为低功耗无线应用而设计.电路主要设定为在315.433.868和915MHz的ISM(工业,科学和医学)和SRD(短距离设备)频率波段,也可以容易地设置 ...

  4. java计算代码执行时间

    有时候为了排查性能问题,需要记录完成某个操作需要的时间,我们可以使用System类的currentTimeMillis()方法来返回当前的毫秒数,并保存到一个变量中,在方法执行完毕后再次调用 Syst ...

  5. Spring集合 (List,Set,Map,Properties) 实例

    下面例子向您展示Spring如何注入值到集合类型(List, Set, Map, and Properties). 支持4个主要的集合类型: List – <list/> Set – &l ...

  6. [翻译] DFCircleActivityIndicator DF圆形活动状态指示器

    DFCircleActivityIndicator Native, customizable and animated circular view to show when long activity ...

  7. 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 ...

  8. html5的classList属性介绍和原生js实现jQuery的addClass,removeClass,hasClass方法

    其实html5已经扩展了class操作的相关API,其中classList属性就以及实现了class的增删和判断. classList属性的方法有: add(value) 添加类名,如果有则不添加 c ...

  9. tomcat(5)servlet容器

    [0]README 0.0)本文部分文字描写叙述转自:"深入剖析tomcat",旨在学习 tomcat(5)servlet容器 的基础知识. 0.1)intro to servle ...

  10. PHP实现双向链表

    看了很久数据结构但是没有怎么用过,在网上看到了关于PHP的数据结构,学习了一下,与大家一起分享一下.上一次分享了链表,这次来补充说一下双向链表. 简短不割                        ...