Share via


How to: Add or Remove Images with the Windows Forms ImageList Component

 

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.

Note

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  
    
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("myPhoto", myImage);  
}  
  

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()  
    
// 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")  
    
// Removes the image named "myPhoto" from the list.  
imageList1.Images.RemoveByKey("myPhoto");  
  

See Also

ImageList Component
ImageList Component Overview
Images, Bitmaps, and Metafiles