资料管理器,Treeview,递归
2015-08-30 21:55
232 查看
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
namespace _30_资料管理器
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
//将demo文件夹放在bin/debug下面,则可以直接调用,否则写地址
DirectoryInfo drecinfo = new DirectoryInfo("demo");
DirectoryInfo[] infos = drecinfo.GetDirectories();
foreach (var item in infos)
{
//将一级文件夹名添加到树的一级节点
TreeNode tnode = treeView1.Nodes.Add(item.Name);
//循环遍历每一个文件夹下的内容
LoadData(item.FullName, tnode);
}
}
private void LoadData(string path, TreeNode tnode)
{
//获取当前节点下的直接文件
string[] files = Directory.GetFiles(path, "*.txt", SearchOption.TopDirectoryOnly);
foreach (var item in files )
{
//获取当前路径下的文件名:Path.GetFileName (item)
//不包括扩展名
tnode.Nodes.Add(Path.GetFileNameWithoutExtension(item));
//增加文件结点后,将该文件的路径绑定到tag中
filenode.Tag= item;
//包括扩展名
//tnode.Nodes.Add(Path.GetFileName (item));
}
//获取当前节点下的直接文件夹
string[] direcs = Directory.GetDirectories(path);
foreach (var item in direcs)
{
TreeNode node = tnode.Nodes.Add(Path.GetFileName (item));
LoadData(item, node);
}
}
private voidtreeView1_AfterSelect(object sender, TreeViewEventArgs e)
{
if (e.Node != null)
{
if (e.Node.Tag != null)
{
//读取txt文件的内容——地址,编码
textBox1 .Text =File.ReadAllText (e.Node .Tag.ToString (),Encoding.Default );
}
}
}
}
}
![](http://img.blog.csdn.net/20150830215401780?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
namespace _30_资料管理器
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
//将demo文件夹放在bin/debug下面,则可以直接调用,否则写地址
DirectoryInfo drecinfo = new DirectoryInfo("demo");
DirectoryInfo[] infos = drecinfo.GetDirectories();
foreach (var item in infos)
{
//将一级文件夹名添加到树的一级节点
TreeNode tnode = treeView1.Nodes.Add(item.Name);
//循环遍历每一个文件夹下的内容
LoadData(item.FullName, tnode);
}
}
private void LoadData(string path, TreeNode tnode)
{
//获取当前节点下的直接文件
string[] files = Directory.GetFiles(path, "*.txt", SearchOption.TopDirectoryOnly);
foreach (var item in files )
{
//获取当前路径下的文件名:Path.GetFileName (item)
//不包括扩展名
tnode.Nodes.Add(Path.GetFileNameWithoutExtension(item));
//增加文件结点后,将该文件的路径绑定到tag中
filenode.Tag= item;
//包括扩展名
//tnode.Nodes.Add(Path.GetFileName (item));
}
//获取当前节点下的直接文件夹
string[] direcs = Directory.GetDirectories(path);
foreach (var item in direcs)
{
TreeNode node = tnode.Nodes.Add(Path.GetFileName (item));
LoadData(item, node);
}
}
private voidtreeView1_AfterSelect(object sender, TreeViewEventArgs e)
{
if (e.Node != null)
{
if (e.Node.Tag != null)
{
//读取txt文件的内容——地址,编码
textBox1 .Text =File.ReadAllText (e.Node .Tag.ToString (),Encoding.Default );
}
}
}
}
}
相关文章推荐
- UIday05_zy01:target/action 设计模式
- AVL平衡树
- python学习笔记11
- 安装node-inspector来调试node
- 我的大四———惠普实训
- java实现一个小数字游戏
- struts2的核心和工作原理
- shell脚本那点事儿6
- Cassandra Wiki
- 安卓四大组件学习总结
- java8-30
- VC++ CTreeCtrl 使用NM_CLICK和TVN_SELCHANGED
- hihoCoder挑战赛14 题目1 : 不等式 枚举?
- 数据库优化方案
- java 一道练习题
- windows下将语料库中所有双声道的wav文件转成单通道
- 使用Axure RP原型设计实践04,了解全局变量
- php linux部署相关
- 学点bootstrap
- 关于Oracle Linux,它做了什么