Compartir a través de


Procedimiento para agregar o quitar imágenes con el componente ImageList de formularios Windows Forms

El componente ImageList de Windows Forms suele rellenarse con imágenes antes de asociarse a un control. Aun así, puede agregar y quitar imágenes después de asociar la lista de imágenes con un control.

Nota:

Al quitar imágenes, compruebe que la propiedad ImageIndex de los controles asociados sigue siendo válida.

Para agregar imágenes mediante programación

  • Use 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 usa esta ubicación porque cabe suponer que la mayoría de los equipos que ejecuten el sistema operativo Windows tendrán esta carpeta. El hecho de elegir esta ubicación también permite a los usuarios con niveles mínimos de acceso al sistema ejecutar la aplicación de forma más segura. En el ejemplo de código siguiente es necesario 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

  • Use uno de los métodos Add de la propiedad Images de la lista de imágenes que tome 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 usa esta ubicación porque cabe suponer que la mayoría de los equipos que ejecuten el sistema operativo Windows tendrán esta carpeta. El hecho de elegir esta ubicación también permite a los usuarios con niveles mínimos de acceso al sistema ejecutar la aplicación de forma más segura. En el ejemplo de código siguiente es necesario 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

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

    -O bien-

    Use 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 imágenes por clave

  • Use 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");  

Consulte también