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 namespace System::Drawing;
using namespace System::Windows::Forms;
public ref class Form1: public Form
{
private:
   TabControl^ tabControl1;
   Rectangle myTabRect;

public:
   Form1()
   {
      tabControl1 = gcnew TabControl;
      TabPage^ tabPage1 = gcnew TabPage;
      tabControl1->Controls->Add( tabPage1 );
      tabControl1->DrawMode = TabDrawMode::OwnerDrawFixed;
      tabControl1->Location = Point(25,25);
      tabControl1->Size = System::Drawing::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 = System::Drawing::Size( 300, 300 );
      Controls->Add( tabControl1 );
      tabControl1->DrawItem += gcnew DrawItemEventHandler( this, &Form1::OnDrawItem );
   }


private:
   void OnDrawItem( Object^ /*sender*/, DrawItemEventArgs^ e )
   {
      Graphics^ g = e->Graphics;
      Pen^ p = gcnew Pen( Color::Blue );
      g->DrawRectangle( p, myTabRect );
   }

};

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

.NET Framework
Available since 1.1
Return to top
Show: