方法: 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 メソッドを使用して 1 つの画像を削除するか

    または

    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 メソッドを使用して、1 つの画像をキーによって削除します。

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

関連項目