如何:使用 Windows 窗体 ImageList 组件添加或移除图像

Windows 窗体 ImageList 组件通常在与控件关联之前填充图像。 但是,你可以在将图像列表与控件关联后添加和删除图像。

注意

删除图像时,请验证任何关联控件的 ImageIndex 属性是否仍然有效。

以编程方式添加图像

  • 使用图像列表的 Images 属性的 Add 方法。

    在下面的代码示例中,为图像位置设置的路径是 My Documents 文件夹。 使用此位置是因为大多数运行 Windows 操作系统的计算机都包含此文件夹。 选择此位置还可以使系统访问级别最低的用户更安全地运行应用程序。 下面的代码示例要求你已具有一个添加了 ImageList 控件的窗体。

    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);  
       }  
    

使用键值添加图像。

  • 使用图像列表采用键值的 Images 属性的 Add 方法之一。

    在下面的代码示例中,为图像位置设置的路径是 My Documents 文件夹。 使用此位置是因为大多数运行 Windows 操作系统的计算机都包含此文件夹。 选择此位置还可以使系统访问级别最低的用户更安全地运行应用程序。 下面的代码示例要求你已具有一个添加了 ImageList 控件的窗体。

    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);  
}  

以编程方式删除所有图像

  • 使用 Remove 方法删除单个图像

    ,或

    使用 Clear 方法清除图像列表中的所有图像。

    ' 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();  

按键删除图像

  • 使用 RemoveByKey 方法按键删除单个图像。

    ' Removes the image named "myPhoto" from the list.  
    ImageList1.Images.RemoveByKey("myPhoto")  
    
// Removes the image named "myPhoto" from the list.  
imageList1.Images.RemoveByKey("myPhoto");  

另请参阅