C# 文件读取(二)

时间:2023-03-09 09:06:57
C# 文件读取(二)

将我的电脑中的文件夹信息显示到TreeView控件上。 方法很多种,下面这种方法添加了我的文档。

 public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
} private void Form1_Load(object sender, EventArgs e)
{
BindTreeView1();
} private void BindTreeView1() {
//添加我的电脑
TreeNode rootNode = new TreeNode("我的电脑");
rootNode.Tag = "我的电脑";
rootNode.Text = "我的电脑";
this.directoryTree.Nodes.Add(rootNode); //我的文档
string myDocuments = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
TreeNode DocNode = new TreeNode(myDocuments);
DocNode.Text = "我的文档";
DocNode.Tag = "我的文档";
rootNode.Nodes.Add(DocNode);
DocNode.Nodes.Add(""); //循环便利计算机中所以的逻辑驱动器
foreach (string drive in Environment.GetLogicalDrives())
{
DriveInfo dir = new DriveInfo(drive);
switch (dir.DriveType)
{
case DriveType.Fixed:
TreeNode tNode = new TreeNode(dir.Name.Split(':')[]);
tNode.Name = dir.Name;
tNode.Tag = tNode.Name;
directoryTree.Nodes.Add(tNode);
tNode.Nodes.Add("");
break;
}
}
rootNode.Expand();
} private void directoryTree_AfterExpand(object sender, TreeViewEventArgs e)
{
e.Node.Expand();
} private void directoryTree_BeforeExpand(object sender, TreeViewCancelEventArgs e)
{
TreeViewItems.Add(e.Node);
}
} public static class TreeViewItems { public static void Add(TreeNode e) { if(e.Tag.ToString() != "我的电脑"){ e.Nodes.Clear(); TreeNode tNode = e;
string path = tNode.Name; if (e.Tag.ToString() == "我的文档")
{
path = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
} string [] dics= Directory.GetDirectories(path);
foreach (string dic in dics)
{
TreeNode subNode = new TreeNode(new DirectoryInfo(dic).Name);
subNode.Name = new DirectoryInfo(dic).FullName;
subNode.Tag = subNode.Name;
tNode.Nodes.Add(subNode);
subNode.Nodes.Add("");
}
}
}
}

显示文件夹