Como: Adicionar ou remover imagens com o componente do Windows Forms ImageList

O Windows Forms ImageList componente geralmente é preenchida com imagens antes que ele está associado um controle. No entanto, você pode adicionar e remover as imagens após associar a um controle de lista de imagens.

ObservaçãoObservação

Quando você remove imagens, verifique se a ImageIndex a propriedade de quaisquer controles associados ainda é válida.

Para adicionar imagens de forma programática

  • Use o Add o método da lista de imagem Images propriedade.

    No exemplo de código a seguir, o caminho definido para o local da imagem é o Meus documentos pasta. Este local é usado porque você pode assumir que a maioria dos computadores que estejam executando o sistema operacional Windows inclua essa pasta. Escolha este local também permite que os usuários que têm um sistema mínimo níveis de acesso mais segura, executados o aplicativo. O exemplo de código a seguir requer que você tenha um formulário com um ImageList controle já adicionado.

    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 adicionar imagens com um valor de chave.

  • Use um do Add métodos para a lista de imagens Images propriedade que leva um valor de chave.

    No exemplo de código a seguir, o caminho definido para o local da imagem é o Meus documentos pasta. Este local é usado porque você pode assumir que a maioria dos computadores que estejam executando o sistema operacional Windows inclua essa pasta. Escolha este local também permite que os usuários que têm um sistema mínimo níveis de acesso mais segura, executados o aplicativo. O exemplo de código a seguir requer que você tenha um formulário com um ImageList controle já adicionado.

    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 remover todas as imagens programaticamente

  • Use o Remove método para remover uma única imagem

    , - ou -

    Use o Clear método para limpar todas as imagens na lista de imagem.

    ' 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 remover imagens pela chave

  • Use o RemoveByKey método para remover uma única imagem por chave.

    ' 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 também

Referência

Visão geral sobre o componente ImageList (Windows Forms)

Outros recursos

Componente ImageList (Windows Forms)

Imagens, Bitmaps e metarquivos