0

ディレクトリからファイルを取得してツリービューに表示するには、このコードの助けが必要です。

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

私はこのエラーが発生します:An object reference is required for the non-static field, method, or property 'System.Windows.Forms.TreeView.Nodes.get'

どんな種類の助けにも感謝しますありがとう

4

2 に答える 2

3

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);
于 2013-03-18T21:36:04.617 に答える
0

私はあなたがこれを望んでいると思います。

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);
}
于 2013-03-18T21:42:08.223 に答える