Poniżej jest mój kodJak wyświetlić katalogi w 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);
}
}
}
Kiedy biegnę, pojawia się pusty formularz TreeView? Nie można określić, jaki jest błąd?
Przy okazji to mój pierwszy wpis w Stack Overflow.
skopiowane kod i wydaje się działać na moim końcu. (Poza tym, że ostrzeżenia o niektórych folderach są nieczytelne z powodu praw dostępu) Przy okazji, spróbuj uczynić tę funkcję rekursywną dla dodawania węzłów i cokolwiek innego. Może dać ci lepszą jasność tego, co się dzieje i gdzie może być twój błąd. Ponadto ustawiasz zmienne węzły, z którymi nic nie robisz (węzły TreeNode zostaną przypisane, ale nie są używane). –
Wykonaj debugowanie i upewnij się, że drzewo zawiera elementy przed powrotem funkcji. Może dodajesz węzły do niewłaściwego drzewa. Może drzewo zostanie gdzieś bezpośrednio oczyszczone. Odpluskwić. – SimpleVar