您的位置:首页 > 其它

资料管理器,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 );
}
}
}

}

}



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: