如何在C#Forms中将图片添加到ListView? 我的程序获取目录的所有子文件夹,并能够在ListView中显示名称 但是我无法在每个listview项目中添加文件夹图标 这是我到目前为止尝试的代码:
string storedir =
Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) +
"\\myfolder";
ImageList imgl = new ImageList();
//Get the folder icon from resources
imgl.Images.Add(Properties.Resources.folder);
DirectoryInfo dir = new DirectoryInfo(storedir);
foreach (DirectoryInfo getdirs in dir.GetDirectories("*.*")) {
ListViewItem lItem = listView1.Items.Add(getdirs.Name, imgl.Images.Count - 1);
}
没有成功:
任何人都可以帮助我吗?
编辑:
现在有效。感谢@Gusman和@LarsTech! 我在表单中添加了一个ImageList控件并命名为" imgl"。然后我在ListView控件上将其设置为Small-和LargeImageList,最后我删除了
ImageList imgl = new ImageList();
谢谢!
答案 0 :(得分:1)
正如Lars在评论中所说,你必须将LargeImageList
属性设置为imagelist的引用
所以,像这样分配图像列表:
listView1.LargeImageList = imgl;
接下来,您必须添加基于0的图像索引。在你的imagelist中0表示第一张图片,1秒等等。这样的事情(无需通过指定最后一个索引访问列表中的最后一张图片):
foreach (DirectoryInfo getdirs in dir.GetDirectories("*.*")) {
ListViewItem lItem = listView1.Items.Add(getdirs.Name, 0);