Listview目录/文件列表子列项

本文关键字:列表 文件 目录 Listview | 更新日期: 2023-09-27 18:12:05

我有一个名为filelist的列表视图,它由文件名,日期和大小组成。我能够用以下代码从给定的驱动器'路径填充filename:

DirectoryInfo di = new DirectoryInfo(str);
foreach (DirectoryInfo d in di.GetDirectories())
    filelist.Items.Add(d);
foreach (FileInfo f in di.GetFiles("*"))
    filelist.Items.Add(f);

这在str中给出路径中的目录名和文件名,但如何可能我填写子列日期和大小,以及如何在文件名列表中使用[]对标记目录。我尝试创建一个字符串dirname;as dirname="["+d.name+"]",然后执行filelist.Item.Add(dirname);但它显示为空白。不知道如何将任何内容加载到日期子列或大小子列中,尽管f确实有这些数据

Listview目录/文件列表子列项

你很接近了。你需要添加一个ListViewItem类到ListView,而不是一个字符串。像这样:

var listViewItem1 = new System.Windows.Forms.ListViewItem(new string[] { dirname }, -1);
filelist.Item.Add(listviewItem1);

如果您想添加更多列,请将它们添加到字符串数组中,如{dirname, f.name}

这是令人困惑的,因为. add()方法接受一个对象,所以你会认为一个字符串将是合乎逻辑的选择,但它需要ListViewItem,因为有更多的垃圾,它可以显示而不仅仅是一个字符串,像图标的例子。