这里主要是对TreeView控件的学习

所使用到的方法:
string path=@"E:\歌词";

//获得指定文件夹下所有文件夹的名称,这是带路径的,如:E:\歌词\1111111

Directory.GetDirectories(path);

//获得指定路径下的文件的文件名,不带路径与后缀名 ,如:01 Welcome To New York

Path.GetFileNameWithoutExtension(FilePath[i])

//这是TreeNode节点的集合类
TreeNodeCollection

//TreeNode 节点可以New,可以设置text,与Tag属性

TreeNode tn = new TreeNode();
tn.Text = filename;
tn.Tag = Newfilepath[i];

//TreeView控件 有SelectedNode 获取选中的节点,与事件 tv_AfterSelect,选中节点发生改变之后所触发

string path = tv.SelectedNode.Tag.ToString();

代码:

//方法需传入绝对路径,以及Treeview的Name的Nodes属性
private void GetNodeValue(string path, TreeNodeCollection tc){//加载选定文件夹下的文件的名字string[] FilePath = Directory.GetDirectories(path);//获得文件的名字string filename = string.Empty;//获得文件夹的名字for (int i = 0; i < FilePath.Length; i++){filename = Path.GetFileNameWithoutExtension(FilePath[i]);TreeNode tn = new TreeNode();tn.Text = filename;//在treeview节点下存下每个节点的路径
                tc.Add(tn);//这里遇到了递归,遇到文件夹,先进入文件夹里面去遍历,将大的tr,替换为小的tr
                GetNodeValue(FilePath[i],tn.Nodes);}//因为目录名不能被点击,获得目录下的文件//获得文件夹下文件的名字,string[] Newfilepath = Directory.GetFiles(path);for (int i = 0; i < Newfilepath.Length; i++){filename = Path.GetFileNameWithoutExtension(Newfilepath[i]);TreeNode tn = new TreeNode();tn.Text = filename;//在treeview节点下存下每个节点的路径tn.Tag = Newfilepath[i];tc.Add(tn);}}//然后是点击事件,发生之后,将读取路径下的值,放进textbox中private void tv_AfterSelect(object sender, TreeViewEventArgs e){try{string path = tv.SelectedNode.Tag.ToString();txtBox.Text = File.ReadAllText(path, Encoding.UTF8);}catch { }}

扩展:

1、TreeView控件和TreeNode的常用成员

AfterSelect //单击事件

TreeView.HideSelection = False;  //可让选中节点保持高亮

Node = TreeView.SelectedNode; //已选中的当前树节点

string I = treeView1.SelectedNode.Index.ToString()

//当前节点的索引值,由0开始,只限于同父、同级的节点集合

treeView1.SelectedNode.Text = “String”; //设置当前节点的文本

string String = treeView1.SelectedNode.Text; //获取当前节点的文本

treeView1.SelectedNode.FullPath.ToString();

//当前节点的全路径,从根节点开始到当前节点,由节点的Text属性加“\”连接而成的字符串,最后的节点后面没有“\”

treeView1.SelectedNode.Tag;

//当前节点的其他信息,可以是各种类型,也可以是对象

treeView1.SelectedNode.Name:树节点的名称,也是(TreeNodes集合)TreeNodeCollection 中该节点的键(key)

treeView1.SelectedNode.Parent; //当前树节点的父树节点。

treeView1.SelectedNode.Level; //树视图的深度(从零开始)

2、在treeView控件中,成员Nodes其实就是一个TreeNode的集合,所以也可以使用TreeNodeCollection的成员:

TreeNodeCollection 类,TreeNodes集合类

treeView1.Nodes.Add(字符串);

//以字符串为显示文本添加节点到树集合的末尾

treeView1.Nodes.Add(TreeNode);

//将现有的树节点添加到树节点集合的末尾。

treeView1.Nodes.Add(String, String):创建具有指定键和文本的新树节点,并将其添加到集合中。

treeView1.Nodes.Find(string key,bool searchAllChildren):查找具有指定键的树节点,可以选择搜索子节点,返回一个list[]。

转载于:https://www.cnblogs.com/Raymond201508/p/4769653.html

使用winform来递归实现资源管理器相关推荐

  1. 初始化资源管理器 winform

    这是初始化资源管理器 0,1表示图片的索引 用到了 imagelistDataTable ds;string strsql = "select id,name from hospital o ...

  2. VS生成的winform项目各个文件意义和解决方案资源管理器作用

    Bin 目录用来存放编译的结果,bin是二进制binrary的英文缩写,因为最初C编译的程序文件都是二进制文件,它有Debug和Release两个版本,分别对应的文件夹为bin/Debug和bin/R ...

  3. c#资源管理器【转】

    版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://zhjjzhjj.blog.51cto.com/1802676/3795 ...

  4. 【Python】导入资源管理器的文件列表(计算文件和文件夹大小)

    文章目录 1.按照扩展名进行分类 2.导出文件的大小 3.计算文件夹大小 4.分类到字典 5.完整代码及效果 1.按照扩展名进行分类 使用Python查询一个路径下的所有文件可以借助glob模块以及o ...

  5. 基于JavaSwing和BeautyEye美化包实现的小型资源管理器

    FileExplorer 正文 基于 java swing 开发的资源管理器.使用 java swing 美化包beautyeye对原生的 java swing 优化. #实习内容 0.实现一个文件系 ...

  6. Hadoop技术(二)资源管理器YARN和分布式计算框架MapReduce

    资源管理器YARN和分布式计算框架MapReduce 第一章 Hadoop MapReduce 是什么 一 MapReduce 介绍 1. 基本介绍 2. MR数据流程方向 3. MR 原语/ 核心思 ...

  7. “解决方案资源管理器”中不能自动选择正在编辑的文档

    本来正在编辑的文档应该在"解决方案资源管理器"中自动选中的,但是我的VS2005机器好像没有这个功能,后来发现 "工具->选贤"里边的"项目和解 ...

  8. 【转】Visual Studio团队资源管理器 Git 源码管理工具简单入门

    1.1 环境 Visual Studio + GitLab (其他版本同理) 1.2 Git操作过程图解 1.3 常见名词解释 拉取(Pull):将远程版本库合并到本地版本库,相当于(Fetch+Me ...

  9. OCM_第十二天课程:Section6 —》数据库性能调优_ 资源管理器/执行计划

    注:本文为原著(其内容来自 腾科教育培训课堂).阅读本文注意事项如下: 1:所有文章的转载请标注本文出处. 2:本文非本人不得用于商业用途.违者将承当相应法律责任. 3:该系列文章目录列表: 一:&l ...

最新文章

  1. mysql 查询rowno_C# Mysql 查询 Rownum的解决方法
  2. apache开启gzip压缩
  3. 几个帅气的linux命令
  4. 51nod 1525 重组公司
  5. python为什么用linux_为何Python在Windows下使用比Linux下更方便
  6. 处理字符串_8_判断字符串含有汉字
  7. Fiddler建好代理后,能连到手机,但手机不能上网了,求破有果
  8. Spring 事务失效的 8 大场景,面试官直呼666...
  9. spring 标注 详解
  10. 玩转springboot2.x之快速搭建(start.spring.io)
  11. android 应用创建桌面快捷方式
  12. 【SQL】实验六 自习室管理数据库系统的设计
  13. CREO图文教程:三维设计案例之风扇叶制作图文教程之详细攻略
  14. 机器人动力学(牛顿欧拉推导)
  15. 别错过!漂亮又好用的思维导图模板
  16. NMODBUS4.0源码下载地址
  17. 如何度过有用的每一天
  18. 基于Verilog HDL的数字时钟
  19. 22考研|英语词汇该如何记忆?
  20. 解决手机连接不上电脑开的热点问题

热门文章

  1. android中的tabdemo
  2. ASP.NET N问N答 (一) ASP.NET怎么导出到WORD?(把girdview里面的数据到出到word)
  3. docker中启动关闭删除所有的容器命令
  4. 实例演示oracle注入获取cmdshell的全过程
  5. c#,xp系统,Matlab6.5
  6. django框架预备知识
  7. PHPstudy搭建本地环境的网页加载速度慢的解决方案
  8. 如何让CloudStack使用KVM创建Windows实例成功识别并挂载数据盘
  9. DFS分布式文件系统--管理篇
  10. Linux基础--MBR/GPT与parted