文件系统TreeView

use*_*849 8 c# treeview system file path

我正在使用文件系统,我有一个List <>文件对象,文件路径作为属性.基本上我需要在.NET中创建一个树视图,但我很难想到最好的方法去做这个,因为我需要从列表创建一个树结构,如:

C:/WINDOWS/Temp/ErrorLog.txt
C:/Program Files/FileZilla/GPL.html
C:/Documents and Settings/Administrator/ntuser.dat.LOG
Run Code Online (Sandbox Code Playgroud)

等等....

该列表根本没有结构,我无法对当前的对象结构进行任何更改.

我在C#工作.

非常感谢所有贡献者

Pau*_*ulB 16

如果你想坚持使用这样的字符串就行了......

TreeNode root = new TreeNode();
TreeNode node = root;
treeView1.Nodes.Add(root);

 foreach (string filePath in myList) // myList is your list of paths
 {
    node = root;
    foreach (string pathBits in filePath.Split('/'))
    {
      node = AddNode(node, pathBits);
    }
 }


private TreeNode AddNode(TreeNode node, string key)
{
    if (node.Nodes.ContainsKey(key))
    {
        return node.Nodes[key];
    }
    else
    {
        return node.Nodes.Add(key, key);
    }
}
Run Code Online (Sandbox Code Playgroud)