TabControl.Multiline TabControl.Multiline TabControl.Multiline TabControl.Multiline Property


Gets or sets a value indicating whether more than one row of tabs can be displayed.

 property bool Multiline { bool get(); void set(bool value); };
public bool Multiline { get; set; }
member this.Multiline : bool with get, set
Public Property Multiline As Boolean

Property Value

true if more than one row of tabs can be displayed; otherwise, false. The default is false.


The following code example creates a TabControl with four TabPage objects. The Multiline property is set to true, which displays two rows of tabs instead of one.

using namespace System::Drawing;
using namespace System::Windows::Forms;
public ref class Form1: public Form
   TabControl^ tabControl1;
   TabPage^ tabPage1;
   TabPage^ tabPage2;
   TabPage^ tabPage3;
   TabPage^ tabPage4;
   void MyTabs()
      this->tabControl1 = gcnew TabControl;
      this->tabPage1 = gcnew TabPage;
      this->tabPage2 = gcnew TabPage;
      this->tabPage3 = gcnew TabPage;
      this->tabPage4 = gcnew TabPage;
      // Allows more than one row of tabs.
      this->tabControl1->Multiline = true;
      this->tabControl1->Padding = Point(22,5);
      array<Control^>^tabControls = {this->tabPage1,this->tabPage2,this->tabPage3,this->tabPage4};
      this->tabControl1->Controls->AddRange( tabControls );
      this->tabControl1->Location = Point(35,25);
      this->tabControl1->Size = System::Drawing::Size( 220, 220 );
      this->tabPage1->Text = "myTabPage1";
      this->tabPage2->Text = "myTabPage2";
      this->tabPage3->Text = "myTabPage3";
      this->tabPage4->Text = "myTabPage4";
      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 TabPage tabPage4;

    private void MyTabs()
        this.tabControl1 = new TabControl();
        this.tabPage1 = new TabPage();
        this.tabPage2 = new TabPage();
        this.tabPage3 = new TabPage();
        this.tabPage4 = new TabPage();
        // Allows more than one row of tabs.
        this.tabControl1.Multiline = true;

        this.tabControl1.Padding = new Point(22, 5);
        this.tabControl1.Controls.AddRange(new Control[] {
        this.tabControl1.Location = new Point(35, 25);
        this.tabControl1.Size = new Size(220, 220);
        this.tabPage1.Text = "myTabPage1";
        this.tabPage2.Text = "myTabPage2";
        this.tabPage3.Text = "myTabPage3";
        this.tabPage4.Text = "myTabPage4";        

        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 tabPage4 As TabPage

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

        ' Allows more than one row of tabs.
        Me.tabControl1.Multiline = True

        Me.tabControl1.Padding = New Point(22, 5)
        Me.tabControl1.Controls.AddRange(New Control() {Me.tabPage1, Me.tabPage2, Me.tabPage3, Me.tabPage4})
        Me.tabControl1.Location = New Point(35, 25)
        Me.tabControl1.Size = New Size(220, 220)

        Me.tabPage1.Text = "myTabPage1"
        Me.tabPage2.Text = "myTabPage2"
        Me.tabPage3.Text = "myTabPage3"
        Me.tabPage4.Text = "myTabPage4"

        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


If Multiline is false, only one row of tabs is displayed, even if all the tabs do not fit in the available space. In that case, however, arrows are displayed that enable the user to navigate to the undisplayed tabs.

If the Multiline property is changed to false while the Alignment property is set to Left or Right, the Alignment property is automatically reset to Top.

Applies to

See also