TabPage.ImageIndex Property

Definition

Gets or sets the index to the image displayed on this tab.

public:
 property int ImageIndex { int get(); void set(int value); };
[System.ComponentModel.TypeConverter(typeof(System.Windows.Forms.ImageIndexConverter))]
public int ImageIndex { get; set; }
[<System.ComponentModel.TypeConverter(typeof(System.Windows.Forms.ImageIndexConverter))>]
member this.ImageIndex : int with get, set
Public Property ImageIndex As Integer

Property Value

The zero-based index to the image in the ImageList that appears on the tab. The default is -1, which signifies no image.

Attributes

Exceptions

value is less than -1.

Examples

The following code example creates a TabControl with one TabPage. This example uses the ImageIndex property to specify which image from myImages displays on the tab of tabPage1.

using namespace System::Drawing;
using namespace System::ComponentModel;
using namespace System::Windows::Forms;
using namespace System::Resources;
public ref class Form1: public Form
{
public:
   Form1()
   {
      IContainer^ components = gcnew System::ComponentModel::Container;
      ResourceManager^ resources = gcnew ResourceManager( Form1::typeid );
      TabControl^ tabControl1 = gcnew TabControl;
      TabPage^ tabPage1 = gcnew TabPage;
      ImageList^ myImages = gcnew ImageList( components );
      tabControl1->Controls->Add( tabPage1 );
      
      // Displays images from myImages on the tabs of tabControl1.
      tabControl1->ImageList = myImages;
      
      // Specifies which image to display (on the tab of tabPage1) by its index.
      tabPage1->ImageIndex = 0;
      tabPage1->Text = "tabPage1";
      myImages->ImageStream = (dynamic_cast<ImageListStreamer^>(resources->GetObject( "myImages.ImageStream" )));
      myImages->ColorDepth = ColorDepth::Depth8Bit;
      myImages->ImageSize = System::Drawing::Size( 16, 16 );
      myImages->TransparentColor = Color::Transparent;
      this->Controls->Add( tabControl1 );
   }

};

int main()
{
   Application::Run( gcnew Form1 );
}
using System.Drawing;
using System.ComponentModel;
using System.Windows.Forms;
using System.Resources;

public class Form1 : Form
{
    public Form1()
    {
        IContainer components = new Container();
        ResourceManager resources = new ResourceManager(typeof(Form1));
        TabControl tabControl1 = new TabControl();
        TabPage tabPage1 = new TabPage();
        ImageList myImages = new ImageList(components);

        tabControl1.Controls.Add(tabPage1);

        // Displays images from myImages on the tabs of tabControl1.
        tabControl1.ImageList = myImages;

        // Specifies which image to display (on the tab of tabPage1) by its index.
        tabPage1.ImageIndex = 0;

        tabPage1.Text = "tabPage1";

        myImages.ImageStream = ((ImageListStreamer)(resources.GetObject("myImages.ImageStream")));
        myImages.ColorDepth = ColorDepth.Depth8Bit;
        myImages.ImageSize = new Size(16, 16);
        myImages.TransparentColor = Color.Transparent;

        this.Controls.Add(tabControl1);
    }

    static void Main() 
    {
        Application.Run(new Form1());
    }
}
Imports System.Drawing
Imports System.ComponentModel
Imports System.Windows.Forms
Imports System.Resources

Public Class Form1
    Inherits Form

    Public Sub New()
        Dim components = New Container()
        Dim resources As New ResourceManager(GetType(Form1))
        Dim tabControl1 As New TabControl()
        Dim tabPage1 As New TabPage()
        Dim myImages As New ImageList(components)

        tabControl1.Controls.Add(tabPage1)

        ' Displays images from myImages on the tabs of tabControl1.
        tabControl1.ImageList = myImages

        ' Specifies which image to display (on the tab of tabPage1) by its index.
        tabPage1.ImageIndex = 0

        tabPage1.Text = "tabPage1"

        myImages.ImageStream = CType(resources.GetObject("myImages.ImageStream"), ImageListStreamer)
        myImages.ColorDepth = ColorDepth.Depth8Bit
        myImages.ImageSize = New Size(16, 16)
        myImages.TransparentColor = Color.Transparent

        Me.Controls.Add(tabControl1)
    End Sub

    Shared Sub Main()
        Application.Run(New Form1())
    End Sub
End Class

Remarks

The ImageIndex points to an image in the associated ImageList of the TabControl.

ImageKey and ImageIndex are mutually exclusive, meaning if one is set, the other is set to an invalid value and ignored. If you set the ImageKey property, the ImageIndex property is automatically set to -1. Alternatively, if you set the ImageIndex property, the ImageKey is automatically set to an empty string ("").

Applies to

See also