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 );
}
}
}}
}