如何在列表视图中的图像列表中添加系统图标

时间:2013-01-08 12:48:49

标签: c# winforms listview imagelist

我已经在列表视图中使用此代码在imageList中添加了图标。现在,只要显示某个目录的列表视图,我希望它们显示出来。

我的问题是:

我需要在imagelist1控件中进行哪些更改?如何在代码中调用imagelist1

imageList1.Images.Add(
    BlackFox.Win32.Icons.IconFromExtensionShell(
        ".*", 
        BlackFox.Win32.Icons.SystemIconSize.Small));

//lv.ImageIndex = 1;

1 个答案:

答案 0 :(得分:1)

如果我理解正确,您想要在ImageList中显示图标以及ListView中的相应文件。为此,您只需将ListView对象的SmallImageListLargeImageList属性指向ImageList(取决于ListView使用的图标显示模式)。

private void UpdateListView() {
   ImageList IconList = new ImageList();

   IconList.Images.Add(
        BlackFox.Win32.Icons.IconFromExtensionShell(".*",
        BlackFox.Win32.Icons.SystemIconSize.Small));

   YourListview.SmallImageList = IconList;

   //Add the items to your Listview                

}

不要忘记将ImageList中的图标分配给ListView中的项目:

MyListItem.ImageIndex = 0;

MyListItem.ImageKey = "MyImageName";

或在添加ListItems时立即添加它们:

ListViewItem MyListItem= new ListViewItem("ItemName", "MyImageName");
ListViewItem MyListItem2= new ListViewItem("ItemName2", int ImageIndex);