下面是我的代码如何在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);
}
}
}
当我跑我只是得到了一个空白树状形式?无法弄清楚什么是错误?
顺便说一句,这是我在Stack Overflow中的第一篇文章。
我复制你的代码,它似乎是工作在我结束。 (除了因为访问权限而导致某些文件夹无法读取的警告)顺便说一句,尝试使这个函数成为一个递归的函数来添加节点和什么。可以让你更清楚地了解正在发生的事情以及你的错误可能在哪里。 此外,你正在设置一个变量节点,你什么都不做(TreeNode节点被赋值但未被使用)。 – 2013-05-01 08:57:56
调试并确保树在函数返回之前确实包含元素。也许你正在将节点添加到错误的树中。也许这棵树在之后直接被清除。调试。 – SimpleVar 2013-05-01 09:01:17