ButtonBase.ImageList Property


The .NET API Reference documentation has a new home. Visit the .NET API Browser on docs.microsoft.com to see the new experience.

Gets or sets the ImageList that contains the Image displayed on a button control.

Namespace:   System.Windows.Forms
Assembly:  System.Windows.Forms (in System.Windows.Forms.dll)

public ImageList ImageList { get; set; }

Property Value

Type: System.Windows.Forms.ImageList

An ImageList. The default value is null.

When the ImageList or ImageIndex property is set, the Image property is set null, which is its default value.


If the ImageList property value is changed to null, the ImageIndex property returns its default value, -1. However, the assigned ImageIndex value is retained internally and used when another ImageList is assigned to the ImageList property. If the new ImageList assigned to the ImageList property has an ImageList.ImageCollection.Count property value that is less than or equal to the value assigned to the ImageIndex property minus one (because the collection is a zero-based index), the ImageIndex property value is adjusted to one less than the Count property value. For example, consider a button control whose ImageList has three images and whose ImageIndex property is set to 2. If a new ImageList that has only two images is assigned to the button, the ImageIndex value changes to 1.

The following code example uses the derived class, Button and sets the ImageList and ImageIndex properties. This code requires that an ImageList has been created and a minimum of one Image has been assigned to it. This code also requires that you have a bitmap image named MyBitMap.bmp stored in the C:\Graphics directory.

private void AddMyImage()
    // Assign an image to the ImageList.
    // Assign the ImageList to the button control.   
    button1.ImageList = ImageList1;
    // Select the image from the ImageList (using the ImageIndex property).    
    button1.ImageIndex = 0;

.NET Framework
Available since 1.1
Return to top