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 ...
随机推荐
- 【张宴】PHP在金山游戏运营中的应用
PPT下载地址1(国外服务器):http://blog.s135.com/attachment/201105/2011phptc_zy.zip PPT下载地址2(国内服务器):http://ishar ...
- UnsupportedOperationException:can't convert to dimension :typx=0x1
at android.content.res.TypeArray.getDimensionPixelSize(TypeArray.java:463) 今天在给项目做适配执行项目时遇到这个错误,发生错误 ...
- Java设计模式菜鸟系列(十七)桥接模式建模与实现
转载请注明出处:http://blog.csdn.net/lhy_ycu/article/details/40008711 桥接模式(Bridge): 把事物和其详细实现分开(抽象化与实现化解耦),使 ...
- 玩转windowbuilder pro
windowbuilder,也就是原来的SWT Designer.Google收购了Instantiations,把它的工具也重新免费发布了. 下载地址:http://www.eclipse.org/ ...
- win7 64位的 svchost.exe 占用内存过大的问题
svchost.exe 是用来启动系统服务的,所以某个 svchost.exe 占用内存过大,可能就是它启动的那个服务占用内存过大,所以只要停止并禁用那个服务就行了. 一般来说占用内存最大的服务是 S ...
- 使用Intellij加载Spark源代码
如何使用Intellij加载Spark源代码 转载注明原文http://www.cnblogs.com/shenh062326/p/6189643.html 查看Spark源代码或修改Spark源代码 ...
- windows删除或修改本地Git保存的账号密码
windows删除或修改本地Git保存的账号密码 学习了:https://blog.csdn.net/xudailong_blog/article/details/78798118 (一)进入控制面板 ...
- redis在linux下安装并測试(在spring下调用)
官网帮助文档例如以下 Installation Download, extract and compile Redis with: $ wget http://download.redis.io/re ...
- 【ichartjs】爬取理想论坛前30页帖子获得每个子贴的发帖时间,总计83767条数据进行统计,生成统计图表
统计数据如下: {': 2451} 图形化后效果如下: 源码: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//E ...
- 阅读《Android 从入门到精通》(24)——切换图片
切换图片(ImageSwitcher) java.lang.Object; android.view.View; android.widget.ViewGroup; android.widget.Fr ...