C# 在c中的treeview目录中插入第二级节点

C# 在c中的treeview目录中插入第二级节点,c#,C#,在这个链接的帮助下,我能够使用Buildtree方法将目录添加到treeview中。现在我的下一步很复杂。我添加的目录有几个子目录,每个子目录都有以构建日期为名称的文件 我现在要做的是在我的程序树视图中,在子目录级别和文件级别之间,我应该添加另一级别的节点,以文件的日期作为其名称,例如140422。此日期为140422的文件将在此节点中折叠。由于一个文件夹中有数百个文件,因此我将根据它们的日期将它们分类为不同的上层节点 我想我应该修改Buildtree方法,但我不知道如何修改。有什么帮助或想法吗

在这个链接的帮助下,我能够使用Buildtree方法将目录添加到treeview中。现在我的下一步很复杂。我添加的目录有几个子目录,每个子目录都有以构建日期为名称的文件

我现在要做的是在我的程序树视图中,在子目录级别和文件级别之间,我应该添加另一级别的节点,以文件的日期作为其名称,例如140422。此日期为140422的文件将在此节点中折叠。由于一个文件夹中有数百个文件,因此我将根据它们的日期将它们分类为不同的上层节点


我想我应该修改Buildtree方法,但我不知道如何修改。有什么帮助或想法吗?如果我能很好地理解这个问题的话,可以这样说:

private void BuildTree(DirectoryInfo directoryInfo, TreeNodeCollection addInMe)
{
    TreeNode curNode = addInMe.Add(directoryInfo.Name);

    foreach (FileInfo file in directoryInfo.GetFiles())
    {
        string date = "getyourdatefrom_file";
        TreeNode dateNode = addInMe.Add(date);
        curNode.Nodes.Add(dateNode);
        dateNode.Nodes.Add(file.FullName, file.Name);
    }
    foreach (DirectoryInfo subdir in directoryInfo.GetDirectories())
    {
        BuildTree(subdir, curNode.Nodes);
    }
}

基本上,您可以创建一个以日期为名称的节点,然后将与文件相对应的节点添加到此节点,而不是curNode。

我建议您“预处理”目录结构,这样内存中就已经有了所需的结构,然后只需在树视图中显示即可。仍在寻找答案的细节非常感谢您的回复!这正是我想做的!因为我不允许附上照片,我很高兴你有了这个想法!但是,由于我的描述不完整,我没有告诉大家每个子文件夹中的文件都有数百个不同的datese.g。140422, 140423.... 它们已经按日期排序了,先是140422的10个文件,然后是140423的10个文件…这意味着我将首先遍历这些文件以了解它们的日期,并确保140422的所有文件都在节点140422下,140423的所有文件都在节点140423下..等等。似乎您的解决方案为每个文件创建了一个上层节点,这不是我想要的方式。你知道这件事吗?再次感谢:嗯,你可以创建任何你想要的文件夹,但我不认为问题的重点是搜索如何对你的文件进行排序:p我建议你问一个新问题,并给出文件名的格式,这样人们就可以给你一个好的正则表达式来完成所有这些。你可以问这样的问题,比如如何从文件名中获取不同的文件夹名我有这个代码[在这里输入BuildTree代码],如何用文件名中的日期替换getyourdatefrom_文件,它的格式是可用的sstuff-DATE.txtWell从文件名中获取文件夹名不是我的问题所在,但在正确的位置插入上层节点是我想知道的关键……无论如何,感谢您的代码,这已经启发了我!我的意思是,每个文件最多只能创建一个新文件夹,对吗?如果是这样的话,这段代码在它的结构中不会有太大的变化,您只需要替换字符串创建。