TabControl.GetTabRect Method (Int32)


Returns the bounding rectangle for a specified tab in this tab control.

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

public Rectangle GetTabRect(
	int index


Type: System.Int32

The zero-based index of the tab you want.

Return Value

Type: System.Drawing.Rectangle

A Rectangle that represents the bounds of the specified tab.

Exception Condition

The index is less than zero.


The index is greater than or equal to Count.

The following code example creates a TabControl with one TabPage. This example uses the GetTabRect method to get a Rectangle that represents the tabPage1 tab area. The myTabRectRectangle is drawn by the DrawItem event.

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

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

public class Form1 : Form
    private TabControl tabControl1;
    private Rectangle myTabRect;

    public Form1()
        tabControl1 = new TabControl();
        TabPage tabPage1 = new TabPage();

        tabControl1.DrawMode = TabDrawMode.OwnerDrawFixed;
        tabControl1.Location = new Point(25, 25);
        tabControl1.Size = new Size(250, 250);

        tabPage1.TabIndex = 0;

        // Gets the tabPage1 tab area defined by its TabIndex.
        // Returns a Rectangle to myTabRect.
        myTabRect = tabControl1.GetTabRect(0);

        ClientSize = new Size(300, 300);

        tabControl1.DrawItem += new DrawItemEventHandler(OnDrawItem);

    private void OnDrawItem(object sender, DrawItemEventArgs e)
        Graphics g = e.Graphics;
        Pen p = new Pen(Color.Blue);
        g.DrawRectangle(p, myTabRect);

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

.NET Framework
Available since 1.1
Return to top