如何显示一个TreeView目录? [英] How to display directories in a TreeView?
本文介绍了如何显示一个TreeView目录?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
下面是我的代码
DirectoryInfo directoryInfo = new DirectoryInfo(@"C:\Users\Shahul\Documents\Visual Studio 2010\Projects\TreeView\TreeView\bin\FileExplorer");
private void Form1_Load(object sender, EventArgs e)
{
if (Directory.Exists("FileExplorer"))
{
try
{
DirectoryInfo[] directories = directoryInfo.GetDirectories();
foreach (FileInfo file in directoryInfo.GetFiles())
{
if (file.Exists)
{
TreeNode nodes = treeView.Nodes[0].Nodes.Add(file.Name);
}
}
if (directories.Length > 0)
{
foreach (DirectoryInfo directory in directories)
{
TreeNode node = treeView.Nodes[0].Nodes.Add(directory.Name);
node.ImageIndex = node.SelectedImageIndex = 0;
foreach (FileInfo file in directory.GetFiles())
{
if (file.Exists)
{
TreeNode nodes = treeView.Nodes[0].Nodes[node.Index].Nodes.Add(file.Name);
}
}
}
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
}
当我跑我只是得到一个空白的树状形式?无法弄清楚什么是错误?
When I run I just get a blank treeview form? Unable to figure out what is the error?
顺便说一下在堆栈溢出这是我的第一篇文章。
Btw this my first post in Stack Overflow.
推荐答案
这应该解决您的问题,我想在WinForm的,但:
This should solve your problem, I tried on WinForm though:
public Form1()
{
InitializeComponent();
DirectoryInfo directoryInfo = new DirectoryInfo(@"C:\Users\hikuma\Documents\IR");
if (directoryInfo.Exists)
{
treeView1.AfterSelect += treeView1_AfterSelect;
BuildTree(directoryInfo, treeView1.Nodes);
}
}
private void BuildTree(DirectoryInfo directoryInfo, TreeNodeCollection addInMe)
{
TreeNode curNode = addInMe.Add(directoryInfo.Name);
foreach (FileInfo file in directoryInfo.GetFiles())
{
curNode.Nodes.Add(file.FullName, file.Name);
}
foreach (DirectoryInfo subdir in directoryInfo.GetDirectories())
{
BuildTree(subdir, curNode.Nodes);
}
}
private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
{
if(e.Node.Name.EndsWith("txt"))
{
this.richTextBox1.Clear();
StreamReader reader = new StreamReader(e.Node.Name);
this.richTextBox1.Text = reader.ReadToEnd();
reader.Close();
}
}
这是你如何打开文件的一个简单的例子丰富的文本框,它可以改善很多:)。
你可能要标记为答案或投票,如果它帮助:)!
It is a simple example of how you can open file in rich text box, it can be improved a lot :). You might want to mark as answer or vote up if it helped :) !!
这篇关于如何显示一个TreeView目录?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文