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 ...
随机推荐
- 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 ...
- miniSpartan6, another Spartan 6 Kit
http://thehardwarer.com/2013/05/minispartan-6-another-spartan-6-kit/ miniSpartan6 is an Opens Source ...
- 分布式服务的事务如何处理?比如dubbo,服务与服务之间的事务怎么处理比较好,现在有没有开源的解决方案?
作者:何明璐链接:http://www.zhihu.com/question/29483490/answer/98237582来源:知乎著作权归作者所有,转载请联系作者获得授权. 首先是不建议采用XA ...
- MySQL系列:innodb源码分析之内存管理
http://blog.csdn.net/yuanrxdu/article/details/40985363 http://book.2cto.com/201402/40307.html 从MySQL ...
- 把Jar文件转成exe安装文件
1.你要清楚的目标文件是32位还是64位的,如果生成的是32位,你就要使用32位的jre,如果生成的是64位,就要使用64位的jre. 图 1 在圆圈位置进行32bit或64bit的选择.因为我要创建 ...
- [Android Studio] Android Studio如何提示函数用法
Eclipse有一个很好的功能,就是当你代码调用某个android API时,鼠标移到对应的函数或者方法上,就会自动有一个悬 浮窗提示该函数的说明(所包含的参数含义,该方法功能).迁移到Android ...
- Orchard运用 - 整合多说评论插件
曾经我在一随笔讲述如何整合第三方Disqus评论插件,不过这一插件不是本土,对中国客户毕竟有点别扭.比如这一随笔就提到为啥要选择多说 - 另外一个国内比较知名的评论插件. 今天跟大家分享如何用最简单的 ...
- 用CSS hack技术解决浏览器兼容性问题
什么是CSS Hack? 不同的浏览器对CSS的解析结果是不同的,因此会导致相同的CSS输出的页面效果不同,这就需要CSS Hack来解决浏览器局部的兼容性问题.而这个针对不同的浏览器写不同的CSS ...
- 字符串转成整型(int)
1 题目 Implement atoito convert a string to an integer. Hint: Carefullyconsider all possible input cas ...
- SpringSecurity实现后台管理员登录(二)
需求:login.ftl页面中登录成功后进入index.ftl页面中 一.pom.xml中添加json转换相关的包 <dependency> <groupId>com.fast ...