2011-12-21 67 views
7

我有一些图片,我手动添加到imageList Cotrol。 现在我需要从imageList中删除thart图像,具体取决于键索引,并设置为面板背景。如何使用imageList控件

我应该怎么办呢

+0

你要根据自己的索引中删除一些图像,并将它们添加的屁股背景你的小组? – Moonlight 2011-12-21 09:05:36

+0

是的你是对的 – 2011-12-21 09:11:26

回答

14

Images添加到ImageList.ImageCollection,所以它是集合类型,那么你可以使用大多数的收集方法。

使用Images属性添加,删除和访问要在面板背景中显示的图像。 Add(key,image)
Remove()
RemoveAt()
RemoveByKey()

检查的ImageList Class文档的例子来理解如何使用务实所有这些方法。

添加图像:从收集

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

删除图片:

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

要访问图像,从imagecollection获取图像

panel1.BackgroundImage = imageList1.Images[0]; 

​​
+0

我尝试使用panel1.BackgroundImage = imageList1.Images [0];但图像没有正确显示,我需要使用其他方法吗? – 2011-12-22 05:19:47

+0

检查面板的图像视图设置的BackgroundImageLayout属性..图像列表可以存储最大256x256像素的图像。 – 2011-12-22 06:52:45

+0

非常感谢,伟大的作品 – 2011-12-22 07:08:47

1

使用ImageList控制的Images property

它返回的对象ImageList.ImageCollection提供了处理列表中图像所需的所有方法,包括AddRemove方法。

你可以找到设置Panel控制这里的背景说明:您在图片列表中所增加How to: Set the Background of a Windows Forms Panel

+0

我尝试使用这种方法,但它返回无效imageList1.Images.RemoveByKey(“nameOfImage”) – 2011-12-21 09:09:03

+0

是的,它应该返回'void'。这是该方法的签名。请参阅[文档](http://msdn.microsoft.com/en-us/library/system.windows.forms.imagelist.imagecollection.removebykey.aspx)。它不会返回成功或失败。 – 2011-12-21 09:13:40

0

我在列表视图中使用imagelist。

让我说我在imagelist中有三个图像,并且想要删除它中的两个图像。

我使用的代码

imagelist.Images.RemoveAt(2); 

代码被删除第二图象但3图像后机器人虽然可见是有

+0

我的问题是imagelist不是自动刷新 – neerajMAX 2013-02-15 07:22:31

相关问题