C# 如何循环查看ListView的特定子项?

C# 如何循环查看ListView的特定子项?,c#,winforms,listview,for-loop,listviewitem,C#,Winforms,Listview,For Loop,Listviewitem,我正在制作一个程序,它使用ListView来查看所选目录中的目录和文件。ListView本身有两列,设置为Details view。这两列是文件夹名称(从按钮中选择的目录)和电影名称(将在ListView上列出选定目录中的所有电影) 我想让ListView做的是,在文件夹被添加到ListView之后,子项应该被隐藏,直到单击左侧列(所选目录)为止 我曾尝试循环查看ListView的子项,但问题是它不仅打印出目录中的所有文件和文件夹,还循环并打印出目录名 对于那些想看到代码和项目的人,我在下面提供

我正在制作一个程序,它使用ListView来查看所选目录中的目录和文件。ListView本身有两列,设置为Details view。这两列是文件夹名称(从按钮中选择的目录)和电影名称(将在ListView上列出选定目录中的所有电影)

我想让ListView做的是,在文件夹被添加到ListView之后,子项应该被隐藏,直到单击左侧列(所选目录)为止

我曾尝试循环查看ListView的子项,但问题是它不仅打印出目录中的所有文件和文件夹,还循环并打印出目录名

对于那些想看到代码和项目的人,我在下面提供了一个下载链接

这是我的代码的一部分,用于显示目录中的文件和文件夹数组,正如您所看到的,我的问题是,它还循环遍历我的项目,我希望它只显示一次

        for (int i = 0; i < jointArray.Length; i++)
        {
                ListViewItem item = new ListViewItem(fi.Name);
                item.SubItems.Add(jointArray[i]);
                listView1.Items.Add(item);
        }
for(int i=0;i
看起来您需要一个TreeControl,每个目录都要折叠,直到您单击它(很像windows资源管理器)


然后,您可以递归地查看所有文件夹和文件,并将它们添加到树状视图中。

能否显示您的代码请不要这样做听起来更像一棵树而不是一个列表视图……我同意DigeMail。如果您将其实现为两个控件,一个TreeView和一个ListView(如Windows资源管理器),您的问题就会得到解决。这也可能是一个更直观的用户界面。谢谢,我会看看TreeView看看TreeView不认为这是我需要的,所以我提供了我的整个项目。以下是代码和项目: