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
)

Parameters

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
ArgumentOutOfRangeException

The index is less than zero.

-or-

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.Controls.Add(tabPage1);
        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);
        Controls.Add(tabControl1);

        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
Show: