Skip to main content
.NET Framework Class Library
TabControl..::.SelectedIndex Property

Gets or sets the index of the currently selected tab page.

Namespace: System.Windows.Forms
Assembly: System.Windows.Forms (in System.Windows.Forms.dll)
Syntax
<BrowsableAttribute(False)> _
Public Property SelectedIndex As Integer
[BrowsableAttribute(false)]
public int SelectedIndex { get; set; }
[BrowsableAttribute(false)]
public:
property int SelectedIndex {
	int get ();
	void set (int value);
}
[<BrowsableAttribute(false)>]
member SelectedIndex : int with get, set

Property Value

Type: System..::.Int32
The zero-based index of the currently selected tab page. The default is -1, which is also the value if no tab page is selected.
Exceptions
ExceptionCondition
ArgumentOutOfRangeException

The value is less than -1.

Examples

The following code example creates a TabControl with two TabPage objects. The SelectedIndex property sets tabPage2 as the currently selected tab page using its index value.

Use the System.Drawing and System.Windows.Forms namespaces for this example.


Imports System.Drawing
Imports System.Windows.Forms

Public Class Form1
    Inherits Form
    Private tabControl1 As TabControl
    Private tabPage1 As TabPage
    Private tabPage2 As TabPage

    Private Sub MyTabs()
        Me.tabControl1 = New TabControl()
        Me.tabPage1 = New TabPage()
        Me.tabPage2 = New TabPage()

        Me.tabControl1.Controls.AddRange(New Control() {Me.tabPage1, Me.tabPage2})
        Me.tabControl1.Padding = New Point(15, 10)
        Me.tabControl1.Location = New Point(35, 25)
        Me.tabControl1.Size = New Size(220, 220)

        ' Selects tabPage2 using SelectedIndex.
        Me.tabControl1.SelectedIndex = 1

        Me.tabPage1.Text = "myTabPage1"
        Me.tabPage1.TabIndex = 0

        Me.tabPage2.Text = "myTabPage2"
        Me.tabPage2.TabIndex = 1

        Me.Size = New Size(300, 300)
        Me.Controls.AddRange(New Control() {Me.tabControl1})
    End Sub

    Public Sub New()
        MyTabs()
    End Sub

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


using System.Drawing;
using System.Windows.Forms;

public class Form1 : Form
{
    private TabControl tabControl1;
    private TabPage tabPage1;
    private TabPage tabPage2;

    private void MyTabs()
    {
        this.tabControl1 = new TabControl();
        this.tabPage1 = new TabPage();
        this.tabPage2 = new TabPage();

        this.tabControl1.Controls.AddRange(new Control[] {
            this.tabPage1,
            this.tabPage2});
        this.tabControl1.Padding = new Point(15, 10);
        this.tabControl1.Location = new Point(35, 25);
        this.tabControl1.Size = new Size(220, 220);

        // Selects tabPage2 using SelectedIndex.
        this.tabControl1.SelectedIndex = 1;

        this.tabPage1.Text = "myTabPage1";
        this.tabPage1.TabIndex = 0;

        this.tabPage2.Text = "myTabPage2";
        this.tabPage2.TabIndex = 1;

        this.Size = new Size(300, 300);
        this.Controls.AddRange(new Control[] {
            this.tabControl1});
    }

    public Form1()
    {
        MyTabs();
    }

    static void Main() 
    {
        Application.Run(new Form1());
    }
}


using namespace System::Drawing;
using namespace System::Windows::Forms;
public ref class Form1: public Form
{
private:
   TabControl^ tabControl1;
   TabPage^ tabPage1;
   TabPage^ tabPage2;
   void MyTabs()
   {
      this->tabControl1 = gcnew TabControl;
      this->tabPage1 = gcnew TabPage;
      this->tabPage2 = gcnew TabPage;
      array<Control^>^tabControls = {this->tabPage1,this->tabPage2};
      this->tabControl1->Controls->AddRange( tabControls );
      this->tabControl1->Padding = Point(15,10);
      this->tabControl1->Location = Point(35,25);
      this->tabControl1->Size = System::Drawing::Size( 220, 220 );

      // Selects tabPage2 using SelectedIndex.
      this->tabControl1->SelectedIndex = 1;
      this->tabPage1->Text = "myTabPage1";
      this->tabPage1->TabIndex = 0;
      this->tabPage2->Text = "myTabPage2";
      this->tabPage2->TabIndex = 1;
      this->Size = System::Drawing::Size( 300, 300 );
      array<Control^>^formControls = {this->tabControl1};
      this->Controls->AddRange( formControls );
   }


public:
   Form1()
   {
      MyTabs();
   }

};

int main()
{
   Application::Run( gcnew Form1 );
}


Version Information

.NET Framework

Supported in: 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1
Platforms

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.