Как использовать imageList Control - PullRequest
8 голосов
/ 21 декабря 2011

У меня есть несколько изображений, которые я добавил в imageList Cotrol вручную. Теперь мне нужно удалить изображения thart из imageList в зависимости от индекса ключа и установить в качестве фона панели.

Как мне это сделать

Ответы [ 3 ]

16 голосов
/ 21 декабря 2011

Images, которые вы добавили в список изображений, добавляются в ImageList.ImageCollection , поэтому это тип коллекции, поэтому вы можете использовать большинство методов сбора.

Используйте свойство Images для добавления, удаления и доступа к изображению для отображения на фоне панели. Добавить (ключ, изображение)
Удалить ()
RemoveAt ()
RemoveByKey ()

Посмотрите пример в документации ImageList Class , чтобы понять, как прагматично использовать все эти методы.

Добавить изображение:

imageList1.Images.Add("pic1", Image.FromFile("c:\\mypic.jpg"));

Удалить изображение из коллекции:

imageList1.Images.RemoveAt(listBox1.SelectedIndex);
imageList1.Images..RemoveByKey("pic1");

Чтобы получить доступ к изображениям, получите изображение из коллекции изображений

panel1.BackgroundImage = imageList1.Images[0];

или

panel1.BackgroundImage = imageList1.Images["pic1"];
1 голос
/ 21 декабря 2011

Используйте свойство Images элемента управления ImageList.

Возвращаемый объект ImageList.ImageCollection предоставляет все методы, необходимые для управления изображениями в списке, включая методы Add и Remove.

Инструкции по настройке фона элемента управления Panel можно найти здесь: Как: установить фон панели Windows Forms

0 голосов
/ 15 февраля 2013

Я использую список изображений в виде списка.

допустим, у меня есть три изображения в списке изображений и я хочу удалить 2 изображения в нем.

я использовал код

    imagelist.Images.RemoveAt(2);

код удаляет 2-е изображение, но после этого 3-е изображение становится видимым, хотя оно и есть

...