Cómo: Agregar o quitar imágenes con el componente ImageList de formularios Windows Forms

Se suele llenar el componente ImageList de formularios Windows Forms con imágenes antes de asociarlo a un control. Sin embargo, es posible agregar y quitar imágenes después de asociar la lista de imágenes con un control.

Nota

Cuando quite imágenes, compruebe que la propiedad ImageIndex de los controles asociados siga siendo válida.

Para agregar imágenes mediante programación

  • Utilice el método Add de la propiedad Images de la lista de imágenes.

    En el ejemplo de código siguiente, la ruta de acceso establecida para la ubicación de la imagen es la carpeta Mis documentos. Se utiliza esta ubicación porque se puede asumir que la mayoría de los equipos que ejecuten el sistema operativo Windows tendrán esta carpeta. Al elegir esta ubicación, también se permite a los usuarios con niveles de acceso mínimos ejecutar la aplicación de un modo más seguro. El ejemplo de código siguiente requiere que tenga un formulario con un control ImageList ya agregado.

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

Para agregar imágenes con un valor de clave.

  • Utilice uno de los métodos Add de la propiedad Images de la lista de imágenes que toma un valor de clave.

    En el ejemplo de código siguiente, la ruta de acceso establecida para la ubicación de la imagen es la carpeta Mis documentos. Se utiliza esta ubicación porque se puede asumir que la mayoría de los equipos que ejecuten el sistema operativo Windows tendrán esta carpeta. Al elegir esta ubicación, también se permite a los usuarios con niveles de acceso mínimos ejecutar la aplicación de un modo más seguro. El ejemplo de código siguiente requiere que tenga un formulario con un control ImageList ya agregado.

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

Para quitar todas las imágenes mediante programación

  • Utilice el método Remove para quitar una sola imagen.

    O bien,

    Utilice el método Clear para borrar todas las imágenes de la lista de imágenes.

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

Para quitar las imágenes por clave

  • Utilice el método RemoveByKey para quitar una sola imagen por su clave.

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

Vea también

Referencia

Información general sobre el componente ImageList (formularios Windows Forms)

Otros recursos

ImageList (Componente, formularios Windows Forms)

Imágenes, mapas de bits y metarchivos