Reputation: 1
i need help with this piece of code to get files from directory and populate them in treeview.
foreach (DirectoryInfo directory in directories)
{
TreeNode node = TreeView.Nodes[0].Nodes.Add(directory.Name);
node.ImageIndex = 1;
foreach (FileInfo file in directory.GetFiles())
{
if (file.Exists)
{
TreeNode nodes = TreeView.Nodes[0].Nodes(node.Index).Nodes.Add(file.Name);
nodes.ImageIndex = 2;
}
}
}
i get this error: An object reference is required for the non-static field, method, or property 'System.Windows.Forms.TreeView.Nodes.get'
i appreciate any kind of help thanks
Upvotes: 0
Views: 376
Reputation: 2337
I think what you want it this.
var directories = Directory.GetDirectories("c:\\users");
foreach (string directoryName in directories)
{
var directory = new DirectoryInfo(directoryName);
var node = new TreeNode(directory.Name);
node.ImageIndex = 1;
foreach (FileInfo file in directory.GetFiles())
{
if (file.Exists)
{
var nodes = node.Nodes.Add(file.Name);
nodes.ImageIndex = 2;
}
}
treeView1.Nodes.Add(node);
}
Upvotes: 0
Reputation: 69372
TreeView
is not a static class which is why you're getting that error message. You should change where you've used TreeView
to the actual name of your instance.
For example:
TreeNode node = TreeView.Nodes[0].Nodes.Add(directory.Name);
should be
//myTreeView is the name of my TreeView object
TreeNode node = myTreeView.Nodes[0].Nodes.Add(directory.Name);
Upvotes: 3