Condividi tramite


Procedura: Aggiungere o rimuovere immagini con il componente ImageList di Windows Form

Il componente Windows Forms ImageList viene in genere popolato con immagini prima di essere associato a un controllo. Tuttavia, è possibile aggiungere e rimuovere immagini dopo aver associato l'elenco di immagini a un controllo .

Nota

Quando si rimuovono le immagini, verificare che la proprietà ImageIndex di tutti i controlli associati sia ancora valida.

Per aggiungere immagini a livello di codice

  • Utilizzare il metodo Add della proprietà Images dell'elenco di immagini.

    Nell'esempio di codice seguente, il percorso impostato per la posizione dell'immagine è la cartella I miei documenti. Questo percorso viene usato perché è possibile presupporre che la maggior parte dei computer che eseguono il sistema operativo Windows includerà questa cartella. La scelta di questa posizione consente anche agli utenti con livelli di accesso minimi al sistema di eseguire l'applicazione in modo più sicuro. Nell'esempio di codice seguente è necessario disporre di un modulo con un controllo ImageList già aggiunto.

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

Per aggiungere immagini con un valore chiave.

  • Utilizzare uno dei metodi Add della proprietà Images della lista di immagini che accetti un valore chiave.

    Nell'esempio di codice seguente, il percorso impostato per la posizione dell'immagine è la cartella Documenti. Questo percorso viene usato perché è possibile presupporre che la maggior parte dei computer che eseguono il sistema operativo Windows includerà questa cartella. La scelta di questa posizione consente anche agli utenti con livelli di accesso minimi al sistema di eseguire l'applicazione in modo più sicuro. Nell'esempio di codice seguente è necessario disporre di un modulo con un controllo ImageList già aggiunto.

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

Per rimuovere tutte le immagini a livello di codice

  • Usare il metodo Remove per rimuovere una singola immagine

    -o-

    Usare il metodo Clear per cancellare tutte le immagini nell'elenco di immagini.

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

Per rimuovere immagini in base alla chiave

  • Usare il metodo RemoveByKey per rimuovere una singola immagine in base alla relativa chiave.

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

Vedere anche