.NET Framework Class Library
TabControl..::.TabPages Property

Gets the collection of tab pages in this tab control.

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

Visual Basic (Declaration)
Public ReadOnly Property TabPages As TabControl..::.TabPageCollection
Visual Basic (Usage)
Dim instance As TabControl
Dim value As TabControl..::.TabPageCollection

value = instance.TabPages
C#
public TabControl..::.TabPageCollection TabPages { get; }
Visual C++
public:
property TabControl..::.TabPageCollection^ TabPages {
    TabControl..::.TabPageCollection^ get ();
}
JScript
public function get TabPages () : TabControl..::.TabPageCollection
Remarks

The order of tab pages in this collection reflects the order the tabs appear in the control.

Examples

The following code example creates a TabControl with one TabPage. This example uses the Add method to add a single tab page to the tabControl1 tab control. Notice the TabPages property is used to get the tabControl1 controls collection to add the tabPage1 to this collection.

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

Visual Basic
Imports System.Drawing
Imports System.Windows.Forms

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

    Public Sub New()
        Me.tabControl1 = New TabControl()
        Me.tabPage1 = New TabPage()

        ' Gets the controls collection for tabControl1.
        ' Adds the tabPage1 to this collection.
        Me.tabControl1.TabPages.Add(tabPage1)

        Me.tabControl1.Location = New Point(25, 25)
        Me.tabControl1.Size = New Size(250, 250)

        Me.ClientSize = New Size(300, 300)
        Me.Controls.Add(tabControl1)
    End Sub

    Shared Sub Main()
        Application.Run(New Form1())
    End Sub
End Class
C#
using System.Drawing;
using System.Windows.Forms;

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

    public Form1()
    {
        this.tabControl1 = new TabControl();
        this.tabPage1 = new TabPage();

        // Gets the controls collection for tabControl1.
        // Adds the tabPage1 to this collection.
        this.tabControl1.TabPages.Add(tabPage1);

        this.tabControl1.Location = new Point(25, 25);
        this.tabControl1.Size = new Size(250, 250);

        this.ClientSize = new Size(300, 300);
        this.Controls.Add(tabControl1);
    }

    static void Main() 
    {
        Application.Run(new Form1());
    }
}
Visual C++
using namespace System::Drawing;
using namespace System::Windows::Forms;
public ref class Form1: public Form
{
private:
   TabControl^ tabControl1;
   TabPage^ tabPage1;

public:
   Form1()
   {
      this->tabControl1 = gcnew TabControl;
      this->tabPage1 = gcnew TabPage;

      // Gets the controls collection for tabControl1.
      // Adds the tabPage1 to this collection.
      this->tabControl1->TabPages->Add( tabPage1 );
      this->tabControl1->Location = Point(25,25);
      this->tabControl1->Size = System::Drawing::Size( 250, 250 );
      this->ClientSize = System::Drawing::Size( 300, 300 );
      this->Controls->Add( tabControl1 );
   }

};

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

Platforms

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

The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
Version Information

.NET Framework

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

.NET Compact Framework

Supported in: 3.5, 2.0, 1.0
See Also

Reference

Tags :


Community Content

Thomas Lee
Microsoft doesn't seem to really want you to use the tabcontrol

After years of struggling to use tabcontrols effectively on several generations of Windows Forms, I have become thoroughly convinced that Microsoft does not really want programmers to use this control. Even in .NET 3.5, it still does not provide any OOB graphical means of closing or navigating tabpages. Moreover, to add insult to lameness, it features a gigantic bug which Microsoft has known about for more than a year and done nothing about, namely, a failure for the tabcontrol to (re) maximize inside of the client area of a main form which has been minimized and then maximized again. The only way to get around this bug is to write code to handle windows events, a process that is prone to crashing Visual Studio. Of course, these and other problems all can be avoided by any programmer willing to cough up $1,000 or more to Infragistics or any one of Microsoft's other major component vendors who sell "customized" tabcontrols. I wonder if that is a coincidence.

[tfl - 10 08 09] Hi - and thanks for your post. You should post questions like this to the MSDN Forums at http://forums.microsoft.com/msdn or the MSDN Newsgroups at

http://www.microsoft.com/communities/newsgroups/en-us/ . You are much more likely get a quicker response using the forums than through the Community Content. For specific help about:
Visual Studio :
http://groups.google.com/groups/dir?sel=usenet%3Dmicrosoft.public.vstudio%2C &
SQL Server :
http://groups.google.com/groups/dir?sel=usenet%3Dmicrosoft.public.sqlserver%2C &
.NET Framework :
http://groups.google.com/groups/dir?sel=usenet%3Dmicrosoft.public.dotnet.framework
PowerShell : http://groups.google.com/group/microsoft.public.windows.powershell/topics?pli=1
All Public : http://groups.google.com/groups/dir?sel=usenet%3Dmicrosoft.public%2C &


Rob Bowman
Calm down Mr jimmy_t!
This control, and all the others, are free. Duh.
Tags :

Agent 86
It's not really a drama...
Yes there's a bug in the control, but the fix is simple and it works fine:


private bool wasMinimized = false;

private void MainForm_Activated(object sender, EventArgs e)
{
wasMinimized = (WindowState == FormWindowState.Minimized);
}

private void MainForm_Resize(object sender, EventArgs e)
{
if (WindowState == FormWindowState.Maximized || wasMinimized)
{
foreach (TabPage tabPage in mainTabControl.TabPages)
{
tabPage.Invalidate();
}
wasMinimized = false;
}
}
Tags :

Page view tracker