This documentation is archived and is not being maintained.

ButtonBase.ImageIndex Property

Gets or sets the image list index value of the image displayed on the button control.

Namespace: System.Windows.Forms
Assembly: System.Windows.Forms (in system.windows.forms.dll)

[TypeConverterAttribute(typeof(ImageIndexConverter))] 
[LocalizableAttribute(true)] 
public int ImageIndex { get; set; }
/** @property */
public int get_ImageIndex ()

/** @property */
public void set_ImageIndex (int value)

public function get ImageIndex () : int

public function set ImageIndex (value : int)

Not applicable.

Property Value

A zero-based index, which represents the image position in an ImageList. The default is -1.

Exception typeCondition

ArgumentOutOfRangeException

The assigned value is less than the lower bounds of the ImageIndex.

When the ImageIndex or ImageList properties are set, the Image property is set to its default value, a null reference (Nothing in Visual Basic).

NoteNote:

If the ImageList property value is changed to a null reference (Nothing in Visual Basic), the ImageIndex property returns its default value, -1. However, the assigned ImageIndex value is retained internally and used when another ImageList object 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 (to account for the collection being 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.
    ImageList1.Images.Add(Image.FromFile("C:\\Graphics\\MyBitmap.bmp"));
    // Assign the ImageList to the button control.   
    button1.ImageList = ImageList1;
    // Select the image from the ImageList (using the ImageIndex property).    
    button1.ImageIndex = 0;
 }
 

private void AddMyImage()
{
    // Assign an image to the ImageList.
    imageList1.get_Images().Add(Image.FromFile(
        "C:\\Graphics\\MyBitmap.bmp"));
    // Assign the ImageList to the button control.   
    button1.set_ImageList(imageList1);
    // Select the image from the ImageList (using the ImageIndex property).    
    button1.set_ImageIndex(0);
} //AddMyImage

private function AddMyImage()
 {
    // Assign an image to the ImageList.
    ImageList1 = new ImageList;
    ImageList1.Images.Add(Image.FromFile("C:\\Graphics\\MyBitmap.bmp"));
    // Assign the ImageList to the button control.   
    button1.ImageList = ImageList1;
    // Select the image from the ImageList (using the ImageIndex property).    
    button1.ImageIndex = 0;
 }
 

Windows 98, Windows Server 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.

.NET Framework

Supported in: 3.0, 2.0, 1.1, 1.0
Show: