#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. Inverted bipolar transistor doubles as a signal clamp

    A number of circuits, such as level detectors and AM demodulators, benefit from a rectifier with a l ...

  2. miniSpartan6, another Spartan 6 Kit

    http://thehardwarer.com/2013/05/minispartan-6-another-spartan-6-kit/ miniSpartan6 is an Opens Source ...

  3. 分布式服务的事务如何处理?比如dubbo,服务与服务之间的事务怎么处理比较好,现在有没有开源的解决方案?

    作者:何明璐链接:http://www.zhihu.com/question/29483490/answer/98237582来源:知乎著作权归作者所有,转载请联系作者获得授权. 首先是不建议采用XA ...

  4. MySQL系列:innodb源码分析之内存管理

    http://blog.csdn.net/yuanrxdu/article/details/40985363 http://book.2cto.com/201402/40307.html 从MySQL ...

  5. 把Jar文件转成exe安装文件

    1.你要清楚的目标文件是32位还是64位的,如果生成的是32位,你就要使用32位的jre,如果生成的是64位,就要使用64位的jre. 图 1 在圆圈位置进行32bit或64bit的选择.因为我要创建 ...

  6. [Android Studio] Android Studio如何提示函数用法

    Eclipse有一个很好的功能,就是当你代码调用某个android API时,鼠标移到对应的函数或者方法上,就会自动有一个悬 浮窗提示该函数的说明(所包含的参数含义,该方法功能).迁移到Android ...

  7. Orchard运用 - 整合多说评论插件

    曾经我在一随笔讲述如何整合第三方Disqus评论插件,不过这一插件不是本土,对中国客户毕竟有点别扭.比如这一随笔就提到为啥要选择多说 - 另外一个国内比较知名的评论插件. 今天跟大家分享如何用最简单的 ...

  8. 用CSS hack技术解决浏览器兼容性问题

    什么是CSS Hack? 不同的浏览器对CSS的解析结果是不同的,因此会导致相同的CSS输出的页面效果不同,这就需要CSS Hack来解决浏览器局部的兼容性问题.而这个针对不同的浏览器写不同的CSS ...

  9. 字符串转成整型(int)

    1 题目 Implement atoito convert a string to an integer. Hint: Carefullyconsider all possible input cas ...

  10. SpringSecurity实现后台管理员登录(二)

    需求:login.ftl页面中登录成功后进入index.ftl页面中 一.pom.xml中添加json转换相关的包 <dependency> <groupId>com.fast ...