TabControl.Alignment TabControl.Alignment TabControl.Alignment TabControl.Alignment Property


Gets or sets the area of the control (for example, along the top) where the tabs are aligned.

 property System::Windows::Forms::TabAlignment Alignment { System::Windows::Forms::TabAlignment get(); void set(System::Windows::Forms::TabAlignment value); };
[get: System.Runtime.TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")]
public System.Windows.Forms.TabAlignment Alignment { get; set; }
member this.Alignment : System.Windows.Forms.TabAlignment with get, set
Public Property Alignment As TabAlignment
Property Value

One of the TabAlignment values. The default is Top.



The following code example creates a TabControl with three TabPage objects. The Alignment property is set to Left, which positions the tabs of tabControl1 on the left side.

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

using namespace System::Drawing;
using namespace System::Windows::Forms;
public ref class Form1: public Form
   TabControl^ tabControl1;
   TabPage^ tabPage1;
   TabPage^ tabPage2;
   TabPage^ tabPage3;
   void MyTabs()
      this->tabControl1 = gcnew TabControl;
      this->tabPage1 = gcnew TabPage;
      this->tabPage2 = gcnew TabPage;
      this->tabPage3 = gcnew TabPage;
      // Positions tabs on the left side of tabControl1.
      this->tabControl1->Alignment = System::Windows::Forms::TabAlignment::Left;
      array<Control^>^tabControls = {this->tabPage1,this->tabPage2,this->tabPage3};
      this->tabControl1->Controls->AddRange( tabControls );
      this->tabControl1->Location = Point(16,24);
      this->tabControl1->SelectedIndex = 0;
      this->tabControl1->Size = System::Drawing::Size( 248, 232 );
      this->tabControl1->TabIndex = 0;
      this->tabPage1->TabIndex = 0;
      this->tabPage2->TabIndex = 1;
      this->tabPage3->TabIndex = 2;
      this->Size = System::Drawing::Size( 300, 300 );
      array<Control^>^formControls = {this->tabControl1};
      this->Controls->AddRange( formControls );



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

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

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

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

        // Positions tabs on the left side of tabControl1.
        this.tabControl1.Alignment = System.Windows.Forms.TabAlignment.Left;

        this.tabControl1.Controls.AddRange(new Control[] {
        this.tabControl1.Location = new Point(16, 24);
        this.tabControl1.SelectedIndex = 0;
        this.tabControl1.Size = new Size(248, 232);
        this.tabControl1.TabIndex = 0;

        this.tabPage1.TabIndex = 0;
        this.tabPage2.TabIndex = 1;
        this.tabPage3.TabIndex = 2;

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

    public Form1()

    static void Main() 
        Application.Run(new Form1());
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 tabPage3 As TabPage

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

        ' Positions tabs on the left side of tabControl1.
        Me.tabControl1.Alignment = System.Windows.Forms.TabAlignment.Left

        Me.tabControl1.Controls.AddRange(New Control() {Me.tabPage1, Me.tabPage2, Me.tabPage3})
        Me.tabControl1.Location = New Point(16, 24)
        Me.tabControl1.SelectedIndex = 0
        Me.tabControl1.Size = New Size(248, 232)
        Me.tabControl1.TabIndex = 0

        Me.tabPage1.TabIndex = 0
        Me.tabPage2.TabIndex = 1
        Me.tabPage3.TabIndex = 2

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

    Public Sub New()
    End Sub

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


When the Alignment property is set to Left or Right, the Multiline property is automatically set to true.

When you set the Appearance property to FlatButtons, it only appears as such when the Alignment property is set to Top. Otherwise, the Appearance property displays as if set to the Buttons value.

When you set the Appearance property to Buttons, you must also set the Alignment property to Top so that the buttons display correctly.


When you set the Appearance property to Buttons, you must also set the Alignment property to Top so that the tab page contents display correctly. Additionally, when visual styles are enabled, and the Alignment property is set to a value other than Top, the tab contents may not render correctly.

Applies to

See Also