Ich habe folgendes Problem, man kann alle Ordner sehen in der Treeview aber leider keine Unterverzeichnisse. Ich habe es so gemacht das man in der erste Treeview die Laufwerke sieht wenn man da drauf klick sieht man die Ordner in der zweiten Treeview, man sieht leider keine Unterverzeichnisse.
Code:
private void listAllDrives()
{
foreach (DriveInfo drives in DriveInfo.GetDrives())
{
treeViewDrive.Nodes.Add(drives.ToString());
}
}
private void treeViewDrive_AfterSelect(object sender, TreeViewEventArgs e)
{
if (treeViewDrive.Nodes.Count > 0)
{
treeViewInfo.Nodes.Clear();
string[] dirs = Directory.GetDirectories(treeViewDrive.SelectedNode.Text);
foreach (string dir in dirs)
{
DirectoryInfo di = new DirectoryInfo(dir);
TreeNode node = new TreeNode(di.Name);
try
{
foreach (DirectoryInfo folder in di.GetDirectories())
{
TreeNode f = new TreeNode(folder.Name);
f.Tag = folder.FullName;
node.Nodes.Add(f);
}
foreach (var file in di.GetFiles())
{
TreeNode n = new TreeNode(file.Name);
node.Nodes.Add(n);
}
}
catch (UnauthorizedAccessException)
{
//display a locked folder icon
node.ImageIndex = 12;
node.SelectedImageIndex = 12;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "DirectoryLister",
MessageBoxButtons.OK, MessageBoxIcon.Error);
}
finally
{
treeViewInfo.Nodes.Add(node);
}
}
}
}
}