winform treeview 绑定文件夹和文件
转载:http://www.cnblogs.com/zhbsh/archive/2011/05/26/2057733.html
- #region treeview 绑定文件夹和文件
- /// <summary>
- /// 根据文件夹绑定到树
- /// </summary>
- /// <param name="treeview"></param>
- /// <param name="FilePath"></param>
- /// <returns></returns>
- public bool SetTreeNoByFilePath(TreeView treeview, string FilePath,ImageList imgs)
- {
- treeview.Nodes.Clear();
- treeview.ImageList = imgs;
- try
- {
- foreach (DirectoryInfo direc in new DirectoryInfo(FilePath).GetDirectories())
- {
- TreeNode tn = new TreeNode(direc.Name);
- tn.Text = direc.FullName;
- SetTreeNodeIco(tn, "dir",imgs);
- tn.Tag = direc.FullName;
- SetSubDirectoryTreenode(direc, tn,imgs);
- treeview.Nodes.Add(tn);
- }
- foreach (FileInfo finfo in new DirectoryInfo(FilePath).GetFiles())
- {
- TreeNode temptreenode = new TreeNode(finfo.Name);
- temptreenode.Tag = finfo.FullName;
- temptreenode.Text = finfo.Name;
- SetTreeNodeIco(temptreenode, finfo.Extension, imgs);
- treeview.Nodes.Add(temptreenode);
- }
- return true;
- }
- catch
- {
- return false;
- }
- }
- /// <summary>
- /// 设置子目录的
- /// </summary>
- /// <param name="direc">目录路径</param>
- /// <param name="tn"></param>
- /// <param name="imglist"></param>
- private void SetSubDirectoryTreenode(DirectoryInfo direc, TreeNode tn,ImageList imglist)
- {
- foreach (DirectoryInfo dir in new DirectoryInfo(direc.FullName).GetDirectories())
- {
- TreeNode temptn = new TreeNode(dir.Name);
- temptn.Tag = dir.FullName;
- SetTreeNodeIco(temptn, "dir", imglist);
- temptn.Text = dir.Name;
- tn.Nodes.Add(temptn);
- foreach (FileInfo fileinfo in new DirectoryInfo(dir.FullName).GetFiles())
- {
- TreeNode temptreenode = new TreeNode(fileinfo.Name);
- temptreenode.Tag = fileinfo.FullName;
- temptreenode.Text = fileinfo.Name;
- SetTreeNodeIco(temptreenode, fileinfo.Extension,imglist);
- temptn.Nodes.Add(temptreenode);
- }
- SetSubDirectoryTreenode(dir, temptn, imglist);
- }
- }
- /// <summary>
- /// 为treeview设置小图标
- /// </summary>
- /// <param name="tn"></param>
- /// <param name="strExt"></param>
- /// <param name="imgs"></param>
- private void SetTreeNodeIco(TreeNode tn, string strExt, ImageList imgs)
- {
- string ext = strExt.Replace(".", "");
- if (ext.ToLower() == "dir")
- {
- tn.ImageIndex = imgs.Images.IndexOfKey("close");
- tn.SelectedImageIndex = imgs.Images.IndexOfKey("open");
- }
- else if (ext.ToLower() == "doc" || ext.ToLower() == "rar" || ext.ToLower() == "txt")
- {
- tn.ImageIndex = imgs.Images.IndexOfKey(ext);
- tn.SelectedImageIndex = imgs.Images.IndexOfKey(ext);
- }
- else
- {
- tn.ImageIndex = imgs.Images.IndexOfKey("other");
- tn.SelectedImageIndex = imgs.Images.IndexOfKey("other");
- }
- }
- #endregion
- #region 只绑定文件夹
- /// <summary>
- /// 根据文件夹绑定到树
- /// </summary>
- /// <param name="treeview"></param>
- /// <param name="FilePath"></param>
- /// <returns></returns>
- public bool SetTreeNoByFilePath(TreeView treeview, string FilePath)
- {
- treeview.Nodes.Clear();
- try
- {
- foreach (DirectoryInfo direc in new DirectoryInfo(FilePath).GetDirectories())
- {
- TreeNode tn = new TreeNode(direc.Name);
- tn.Text = direc.FullName;
- tn.Tag = direc.FullName;
- SetSubDirectoryTreenode(direc, tn);
- treeview.Nodes.Add(tn);
- }
- return true;
- }
- catch
- {
- return false;
- }
- }
- /// <summary>
- /// 设置子目录的
- /// </summary>
- /// <param name="direc">目录路径</param>
- /// <param name="tn"></param>
- /// <param name="imglist"></param>
- private void SetSubDirectoryTreenode(DirectoryInfo direc, TreeNode tn)
- {
- foreach (DirectoryInfo dir in new DirectoryInfo(direc.FullName).GetDirectories())
- {
- TreeNode temptn = new TreeNode(dir.Name);
- temptn.Tag = dir.FullName;
- temptn.Text = dir.Name;
- tn.Nodes.Add(temptn);
- foreach (FileInfo fileinfo in new DirectoryInfo(dir.FullName).GetFiles())
- {
- TreeNode temptreenode = new TreeNode(fileinfo.Name);
- temptreenode.Tag = fileinfo.FullName;
- temptreenode.Text = fileinfo.Name;
- temptn.Nodes.Add(temptreenode);
- }
- SetSubDirectoryTreenode(dir, temptn);
- }
- }
- #endregion
winform treeview 绑定文件夹和文件的更多相关文章
- VBA读取文件夹下所有文件夹及文件内容,并以树形结构展示
Const TR_LEVEL_MARK = "+"Const TR_COL_INDEX = "A"Const TR_COL_LEVEL = "E&qu ...
- asp.net 检查文件夹和文件是否存在
原文 asp.net 检查文件夹和文件是否存在 允许 path 参数指定相对或绝对路径信息. 相对路径信息被解释为相对于当前工作目录. 检查该目录是否存在之前,从 path 参数的末尾移除尾随空格. ...
- 使用FileSystemWatcher监控文件夹及文件
引言 这一周主要精力集中学习一个同事开发的本地文件搜索项目上,其中客户端添加共享文件时主要是使用FileSystemWatcher 监控文件,并在各种事件发生时向服务器发送消息. 解决方法 FileS ...
- Visual Studio(VS2012) Project&(Solution) 虚拟文件夹 & 物理文件夹
今天发生个怪事:在 Solution Explorer 中,x project 内建立文件夹(folder)时,同时在磁盘目录下也创建了同名的文件夹. 1, 原本:应该只是创建一个“虚拟文件夹”用来“ ...
- TortoiseSVN文件夹及文件图标不显示解决方法
由于自己的电脑是win7(64位)的,系统安装TortoiseSVN之后,其他的功能都能正常的使用,但是就是文件夹或文件夹的左下角就是不显示图标,这个问题前一段时间就遇到了(那个时 ...
- python 实现彻底删除文件夹和文件夹下的文件
python 中有很多内置库可以帮忙用来删除文件夹和文件,当面对要删除多个非空文件夹,并且目录层次大于3层以上时,仅使用一种内置方法是无法达到彻底删除文件夹和文件的效果的,比较low的方式是多次调用直 ...
- Projects\Portal_Content\Indexer\CiFiles文件夹下文件占用磁盘空间过大问题。
C:\Program Files\Microsoft Office Servers\12.0\Data\Office Server\Applications\9765757d-15ee-432c-94 ...
- android 获取文件夹、文件的大小 以B、KB、MB、GB 为单位
android 获取文件夹.文件的大小 以B.KB.MB.GB 为单位 public class FileSizeUtil { public static final int SIZETYPE_B ...
- C#操作文件夹及文件的方法的使用
本文收集了目前最为常用的C#经典操作文件的方法,具体内容如下:C#追加.拷贝.删除.移动文件.创建目录.递归删除文件夹及文件.指定文件夹下面的所有内容copy到目标文件夹下面.指定文件夹下面的所有内容 ...
随机推荐
- 链接oracle数据库 生成表对应的javabean
package com.databi.utils; import java.io.File; import java.io.FileOutputStream; import java.io.IOExc ...
- HDFS的xshell及dfsadmin命令
一. DFS:distributied file system 是一种允许文件通过网络在多台主机上风向的文件系统,可让多机器上的多用户分享文件和存储空间 二.HDFS的shell **切记后面加的 / ...
- 【BZOJ2818】Gcd [莫比乌斯反演]
Gcd Time Limit: 10 Sec Memory Limit: 256 MB[Submit][Status][Discuss] Description 给定整数N,求1<=x,y&l ...
- 02-导航实例-storyboard实现
源代码下载链接:02-导航实例-storyboard实现.zip38.5 KB // MJAboutViewController.h // // MJAboutViewController. ...
- JavaScript DOM编程艺术 读书笔记
2. JavaScript语法 2.1 注释 HTML允许使用"<!--"注释跨越多个行,但JavaScript要求这种注释的每行都必须在开头加上"< ...
- 使用SpringMVC解决Ajax跨域问题
package com.mengyao.system.filter; import java.io.IOException; import javax.servlet.FilterChain; imp ...
- selenium与360极速浏览器driver配置
1)下载浏览器对应的driver,浏览器版本与driver对应关系,网址:http://www.cnblogs.com/JHblogs/p/7699951.html:driver下载地址:http:/ ...
- spring boot jar 进程自动停止,自动终止,不能后台持续运行
第一次部署spring boot 到linux上,用命令java -jar **.jar,发现应用自动退出,进程停止了.后来发现要不挂断的执行命令,忽略所有的挂断信号,用以下命令解决 nohup ja ...
- 【SQL】约束与触发器1
一.外键 1.1特点 表A的外键,一定是其他某个表B的主键或有UNIQUE声明的属性. A的外键的值,一定是对应表B中相应的属性值.(空值除外) 1.2声明方法 方法1:属性名 类型 REFERENC ...
- Selenium2+python自动化65-js定位几种方法总结【转载】
前言 本篇总结了几种js常用的定位元素方法,并用js点击按钮,对input输入框输入文本 一.以下总结了5种js定位的方法 除了id是定位到的是单个element元素对象,其它的都是elements返 ...