The Windows Forms ImageList component is typically populated with images before it is associated with a control. However, you can add and remove images after associating the image list with a control.
![]() |
---|
When you remove images, verify that the ImageIndex property of any associated controls is still valid. |
To add images programmatically
Use the Add method of the image list's Images property.
In the following code example, the path set for the ___location of the image is the My Documents folder. This ___location is used because you can assume that most computers that are running the Windows operating system will include this folder. Choosing this ___location also lets users who have minimal system access levels more safely run the application. The following code example requires that you have a form with an ImageList control already added.
Public Sub LoadImage() Dim myImage As System.Drawing.Image = _ Image.FromFile _ (System.Environment.GetFolderPath _ (System.Environment.SpecialFolder.Personal) _ & "\Image.gif") ImageList1.Images.Add(myImage) End Sub
public void addImage() { // Be sure that you use an appropriate escape sequence (such as the // @) when specifying the ___location of the file. System.Drawing.Image myImage = Image.FromFile (System.Environment.GetFolderPath (System.Environment.SpecialFolder.Personal) + @"\Image.gif"); imageList1.Images.Add(myImage); }
public: void addImage() { // Replace the bold image in the following sample // with your own icon. // Be sure that you use an appropriate escape sequence (such as // \\) when specifying the ___location of the file. System::Drawing::Image ^ myImage = Image::FromFile(String::Concat( System::Environment::GetFolderPath( System::Environment::SpecialFolder::Personal), "\\Image.gif")); imageList1->Images->Add(myImage); }
To add images with a key value.
Use one of the Add methods of the image list's Images property that takes a key value.
In the following code example, the path set for the ___location of the image is the My Documents folder. This ___location is used because you can assume that most computers that are running the Windows operating system will include this folder. Choosing this ___location also lets users who have minimal system access levels more safely run the application. The following code example requires that you have a form with an ImageList control already added.
Public Sub LoadImage() Dim myImage As System.Drawing.Image = _ Image.FromFile _ (System.Environment.GetFolderPath _ (System.Environment.SpecialFolder.Personal) _ & "\Image.gif") ImageList1.Images.Add("myPhoto", myImage) End Sub
To remove all images programmatically
Use the Remove method to remove a single image
,-or-
Use the Clear method to clear all images in the image list.
' Removes the first image in the image list ImageList1.Images.Remove(myImage) ' Clears all images in the image list ImageList1.Images.Clear()
To remove images by key
Use the RemoveByKey method to remove a single image by its key.
' Removes the image named "myPhoto" from the list. ImageList1.Images.RemoveByKey("myPhoto")
See Also
Reference
ImageList Component Overview (Windows Forms)
Other Resources
ImageList Component (Windows Forms)
Images, Bitmaps, and Metafiles