C# 具有固定目录的treeview代码

C# 具有固定目录的treeview代码,c#,winforms,treeviewitem,C#,Winforms,Treeviewitem,我需要这段代码的帮助,以便从目录中获取文件并在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 (

我需要这段代码的帮助,以便从目录中获取文件并在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;
        }
    }
}
我得到这个错误:
非静态字段、方法或属性“System.Windows.Forms.TreeView.Nodes.get”需要对象引用“


感谢您的帮助,TreeView不是一个静态类,这就是为什么您会收到错误消息的原因。您应该将使用
TreeView
的位置更改为实例的实际名称

例如:

TreeNode node = TreeView.Nodes[0].Nodes.Add(directory.Name);
应该是

//myTreeView is the name of my TreeView object
TreeNode node = myTreeView.Nodes[0].Nodes.Add(directory.Name);

TreeView
不是一个静态类,因此您会收到错误消息。您应该将使用
TreeView
的位置更改为实例的实际名称

例如:

TreeNode node = TreeView.Nodes[0].Nodes.Add(directory.Name);
应该是

//myTreeView is the name of my TreeView object
TreeNode node = myTreeView.Nodes[0].Nodes.Add(directory.Name);

我想这是你想要的

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);
}

我想这是你想要的

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);
}

看起来错误将在初始foreach之后的第一行生成。。。TreeView是一个类名,可能不是对象的名称。TreeView对象的名称是什么?请尝试用控件的实际名称替换名称
TreeView
。似乎会在初始foreach后的第一行生成错误。。。TreeView是一个类名,可能不是对象的名称。TreeView对象的名称是什么?请尝试用控件的实际名称替换名称
TreeView
。感谢您的帮助,它工作得非常好。我需要以下方面的帮助,我有带adobe pdf reader工具的Form2,Form1中的一些文件是pdf,我如何在Form2Glad中的adobe pdf reader中预览treeview中Form1中的pdf文件它为您工作。至于AdobeReader,这个问题与此线程无关,但您可以查看“AdobeReaderActiveX控件”。此链接中有一篇很好的文章,向您展示了如何做到这一点。:)谢谢你的帮助,效果很好。我需要以下方面的帮助,我有带adobe pdf reader工具的Form2,Form1中的一些文件是pdf,我如何在Form2Glad中的adobe pdf reader中预览treeview中Form1中的pdf文件它为您工作。至于AdobeReader,这个问题与此线程无关,但您可以查看“AdobeReaderActiveX控件”。此链接中有一篇很好的文章,向您展示了如何做到这一点。:)