Qui di seguito è il mio codiceCome visualizzare le directory in un 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);
}
}
}
Quando eseguo ottengo solo una forma ad albero in bianco? Incapace di capire qual è l'errore?
Questo è il mio primo post in Stack Overflow.
Ho copiato il codice e sembra di essere al lavoro da parte mia. (Oltre a ricevere avvisi su alcune cartelle che sono illeggibili a causa dei diritti di accesso) A proposito, prova a rendere questa funzione ricorsiva per aggiungere nodi e quant'altro. Potrebbe darti una migliore chiarezza di ciò che sta accadendo e dove potrebbe essere il tuo errore. Inoltre, si impostano nodi variabili con cui non si esegue alcuna operazione (i nodi TreeNode vengono assegnati ma non vengono utilizzati). –
Eseguire il debug e assicurarsi che l'albero contenga elementi prima che la funzione ritorni. Forse stai aggiungendo i nodi all'albero sbagliato. Forse l'albero viene ripulito da qualche parte subito dopo. Debug. – SimpleVar