Как добавить системные значки в список изображений в списке

Я добавил значки в imageList, используя этот код в списке. Теперь я хочу, чтобы они отображались всякий раз, когда отображается список определенного каталога.

Мой вопрос:

Какие изменения мне нужно внести в элемент управления imagelist1? А как вызвать imagelist1 в коде?

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

//lv.ImageIndex = 1;

person engineer41    schedule 08.01.2013    source источник
comment
Кто этот БлэкФокс?   -  person Uwe Keim    schedule 08.01.2013
comment
это класс, из которого извлекаются системные иконки.   -  person engineer41    schedule 08.01.2013
comment
когда я использую его как picturebox.image.add(BlackFox.Win32.Icons.IconFromExtensionShell(.zip, BlackFox.Win32.Icons.SystemIconSize.Small)); он показывает значок почтового индекса   -  person engineer41    schedule 08.01.2013
comment
мне было интересно, могу ли я добавить его таким же образом в список изображений. и когда отображается список файлов, я получаю значки с ними   -  person engineer41    schedule 08.01.2013


Ответы (1)


Если я вас правильно понимаю, вы хотите отображать значки в ImageList вместе с соответствующими файлами в ListView. Для этого вам нужно только указать атрибут SmallImageList или LargeImageList вашего объекта ListView на 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;

or

MyListItem.ImageKey = "MyImageName";

или добавьте их сразу, когда вы добавляете свои ListItems:

ListViewItem MyListItem= new ListViewItem("ItemName", "MyImageName");
ListViewItem MyListItem2= new ListViewItem("ItemName2", int ImageIndex);
person Lennart    schedule 08.01.2013