VB.Net by API/System.Windows.Forms/TabControl — различия между версиями

Материал из VB Эксперт
Перейти к: навигация, поиск
м (1 версия)
 
(нет различий)

Текущая версия на 12:52, 26 мая 2010

TabControl.Alignment

  
imports System
imports System.Drawing
imports System.Windows.Forms

public class TabControls : inherits Form
  public sub New()
    Size = new Size(325,375)
    dim tc as new TabControl()
    tc.Parent = me
    tc.Size = new Size(275,300)
    tc.Location = new Point(25,25)
    tc.Anchor = AnchorStyles.Top or AnchorStyles.Bottom or AnchorStyles.Left or AnchorStyles.Right
    tc.Alignment = TabAlignment.Top
    tc.Appearance = TabAppearance.Normal
    tc.HotTrack = true
    tc.Multiline = true
    tc.Padding = new Point(20,3)
    tc.SizeMode = TabSizeMode.FillToRight
    AddHandler tc.SelectedIndexChanged, AddressOf tc_Changed
    tc.Text = "Some text"
    dim img as Image = Image.FromFile("1.ico")
    dim imgList as new ImageList()
    imgList.Images.Add(img)
    tc.ImageList = imgList
    dim tpAddress as new TabPage()
    tpAddress.Parent = tc
    tpAddress.Text = "Address Book"
    dim tpDates as new TabPage()
    tpDates.Parent = tc
    tpDates.Text = "Date Book"
    dim tpToDo as new TabPage()
    tpToDo.Parent = tc
    tpToDo.Text = "ToDo List"
    dim tpMisc as new TabPage()
    tpMisc.Parent = tc
    tpMisc.Text = "A Really Long Tab"
    tpMisc.ImageIndex = 0
    dim lbl as new Label()
    lbl.Parent = tpAddress
    lbl.Text = "Put the Address book controls on this page."
    lbl.AutoSize = true
    lbl.Location = new Point(10,25)
    dim pnl as new Panel()
    pnl.Parent = tpDates
    pnl.BorderStyle = BorderStyle.Fixed3D
    pnl.Location = new Point(10,10)
    pnl.Anchor = AnchorStyles.Top or AnchorStyles.Bottom or _
          AnchorStyles.Left or AnchorStyles.Right
    pnl.Size = new Size(tpDates.Width - 20, tpDates.Height - 20)
    dim cal as new MonthCalendar()
    cal.Parent = pnl
    cal.Location = new Point(25,25)
    dim rtxt as new RichTextBox()
    rtxt.Parent = tpToDo
    rtxt.Dock = DockStyle.Fill
    rtxt.BorderStyle = BorderStyle.FixedSingle
  end sub
  public shared sub Main() 
    Application.Run(new TabControls())
  end sub
  private sub tc_Changed(ByVal sender as object,ByVal e as EventArgs)
    dim tc as TabControl = CType(sender,TabControl)
    Console.WriteLine("Button " + tc.SelectedIndex.ToString())
  end sub
end class


TabControl.Appearance

  
imports System
imports System.Drawing
imports System.Windows.Forms

public class TabControls : inherits Form
  public sub New()
    Size = new Size(325,375)
    dim tc as new TabControl()
    tc.Parent = me
    tc.Size = new Size(275,300)
    tc.Location = new Point(25,25)
    tc.Anchor = AnchorStyles.Top or AnchorStyles.Bottom or AnchorStyles.Left or AnchorStyles.Right
    tc.Alignment = TabAlignment.Top
    tc.Appearance = TabAppearance.Normal
    tc.HotTrack = true
    tc.Multiline = true
    tc.Padding = new Point(20,3)
    tc.SizeMode = TabSizeMode.FillToRight
    AddHandler tc.SelectedIndexChanged, AddressOf tc_Changed
    tc.Text = "Some text"
    dim img as Image = Image.FromFile("1.ico")
    dim imgList as new ImageList()
    imgList.Images.Add(img)
    tc.ImageList = imgList
    dim tpAddress as new TabPage()
    tpAddress.Parent = tc
    tpAddress.Text = "Address Book"
    dim tpDates as new TabPage()
    tpDates.Parent = tc
    tpDates.Text = "Date Book"
    dim tpToDo as new TabPage()
    tpToDo.Parent = tc
    tpToDo.Text = "ToDo List"
    dim tpMisc as new TabPage()
    tpMisc.Parent = tc
    tpMisc.Text = "A Really Long Tab"
    tpMisc.ImageIndex = 0
    dim lbl as new Label()
    lbl.Parent = tpAddress
    lbl.Text = "Put the Address book controls on this page."
    lbl.AutoSize = true
    lbl.Location = new Point(10,25)
    dim pnl as new Panel()
    pnl.Parent = tpDates
    pnl.BorderStyle = BorderStyle.Fixed3D
    pnl.Location = new Point(10,10)
    pnl.Anchor = AnchorStyles.Top or AnchorStyles.Bottom or _
          AnchorStyles.Left or AnchorStyles.Right
    pnl.Size = new Size(tpDates.Width - 20, tpDates.Height - 20)
    dim cal as new MonthCalendar()
    cal.Parent = pnl
    cal.Location = new Point(25,25)
    dim rtxt as new RichTextBox()
    rtxt.Parent = tpToDo
    rtxt.Dock = DockStyle.Fill
    rtxt.BorderStyle = BorderStyle.FixedSingle
  end sub
  public shared sub Main() 
    Application.Run(new TabControls())
  end sub
  private sub tc_Changed(ByVal sender as object,ByVal e as EventArgs)
    dim tc as TabControl = CType(sender,TabControl)
    Console.WriteLine("Button " + tc.SelectedIndex.ToString())
  end sub
end class


TabControl.DrawItem

  
Imports System
Imports System.Data
Imports System.Windows.Forms
Imports System.Drawing
Imports System.Data.SqlClient
public class MainClass
   Shared Sub Main()
       Dim form1 As Form = New Form1
       Application.Run(form1)
   End Sub
End Class

Public Class Form1
    Private Sub tabProject_DrawItem(ByVal sender As Object, _
     ByVal e As System.Windows.Forms.DrawItemEventArgs) Handles tabProject.DrawItem
        Dim rect As Rectangle = e.Bounds
        If (e.State And DrawItemState.Selected) = DrawItemState.Selected Then
            rect.X += 4
            rect.Y += 4
            rect.Width -= 8
            rect.Height -= 8
        Else
            rect.X += 2
            rect.Y += 2
            rect.Width -= 4
            rect.Height -= 4
        End If
        Select Case e.Index
            Case 0
                e.Graphics.FillEllipse(Brushes.Green, rect)
            Case 1
                e.Graphics.FillEllipse(Brushes.Yellow, rect)
            Case 2
                e.Graphics.FillEllipse(Brushes.Red, rect)
        End Select
        If (e.State And DrawItemState.Selected) = DrawItemState.Selected Then
            e.Graphics.DrawEllipse( _
                New Pen(Color.Black, 3), _
                rect)
        Else
            e.Graphics.DrawEllipse(Pens.Black, rect)
        End If
    End Sub
End Class


<Global.Microsoft.VisualBasic.rupilerServices.DesignerGenerated()> _
Partial Public Class Form1
    Inherits System.Windows.Forms.Form
    "Form overrides dispose to clean up the component list.
    <System.Diagnostics.DebuggerNonUserCode()> _
    Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
        If disposing AndAlso components IsNot Nothing Then
            components.Dispose()
        End If
        MyBase.Dispose(disposing)
    End Sub
    "Required by the Windows Form Designer
    Private components As System.ruponentModel.IContainer
    "NOTE: The following procedure is required by the Windows Form Designer
    "It can be modified using the Windows Form Designer.  
    "Do not modify it using the code editor.
    <System.Diagnostics.DebuggerStepThrough()> _
    Private Sub InitializeComponent()
        Me.tabProject = New System.Windows.Forms.TabControl
        Me.TabPage1 = New System.Windows.Forms.TabPage
        Me.TabPage2 = New System.Windows.Forms.TabPage
        Me.TabPage3 = New System.Windows.Forms.TabPage
        Me.tabProject.SuspendLayout()
        Me.SuspendLayout()
        "
        "tabProject
        "
        Me.tabProject.Controls.Add(Me.TabPage1)
        Me.tabProject.Controls.Add(Me.TabPage2)
        Me.tabProject.Controls.Add(Me.TabPage3)
        Me.tabProject.DrawMode = System.Windows.Forms.TabDrawMode.OwnerDrawFixed
        Me.tabProject.Location = New System.Drawing.Point(8, 8)
        Me.tabProject.Name = "tabProject"
        Me.tabProject.SelectedIndex = 0
        Me.tabProject.Size = New System.Drawing.Size(272, 200)
        Me.tabProject.TabIndex = 1
        "
        "TabPage1
        "
        Me.TabPage1.Location = New System.Drawing.Point(4, 22)
        Me.TabPage1.Name = "TabPage1"
        Me.TabPage1.Padding = New System.Windows.Forms.Padding(3)
        Me.TabPage1.Size = New System.Drawing.Size(264, 174)
        Me.TabPage1.TabIndex = 0
        Me.TabPage1.Text = "TabPage1"
        "
        "TabPage2
        "
        Me.TabPage2.Location = New System.Drawing.Point(4, 22)
        Me.TabPage2.Name = "TabPage2"
        Me.TabPage2.Padding = New System.Windows.Forms.Padding(3)
        Me.TabPage2.Size = New System.Drawing.Size(264, 174)
        Me.TabPage2.TabIndex = 1
        Me.TabPage2.Text = "TabPage2"
        "
        "TabPage3
        "
        Me.TabPage3.Location = New System.Drawing.Point(4, 22)
        Me.TabPage3.Name = "TabPage3"
        Me.TabPage3.Size = New System.Drawing.Size(264, 174)
        Me.TabPage3.TabIndex = 2
        Me.TabPage3.Text = "TabPage3"
        "
        "Form1
        "
        Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
        Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
        Me.ClientSize = New System.Drawing.Size(289, 217)
        Me.Controls.Add(Me.tabProject)
        Me.Name = "Form1"
        Me.Text = "UseTabControlOwnerDrawn"
        Me.tabProject.ResumeLayout(False)
        Me.ResumeLayout(False)
    End Sub
    Friend WithEvents tabProject As System.Windows.Forms.TabControl
    Friend WithEvents TabPage1 As System.Windows.Forms.TabPage
    Friend WithEvents TabPage2 As System.Windows.Forms.TabPage
    Friend WithEvents TabPage3 As System.Windows.Forms.TabPage
End Class


TabControl.HotTrack

  
imports System
imports System.Drawing
imports System.Windows.Forms

public class TabControls : inherits Form
  public sub New()
    Size = new Size(325,375)
    dim tc as new TabControl()
    tc.Parent = me
    tc.Size = new Size(275,300)
    tc.Location = new Point(25,25)
    tc.Anchor = AnchorStyles.Top or AnchorStyles.Bottom or AnchorStyles.Left or AnchorStyles.Right
    tc.Alignment = TabAlignment.Top
    tc.Appearance = TabAppearance.Normal
    tc.HotTrack = true
    tc.Multiline = true
    tc.Padding = new Point(20,3)
    tc.SizeMode = TabSizeMode.FillToRight
    AddHandler tc.SelectedIndexChanged, AddressOf tc_Changed
    tc.Text = "Some text"
    dim img as Image = Image.FromFile("1.ico")
    dim imgList as new ImageList()
    imgList.Images.Add(img)
    tc.ImageList = imgList
    dim tpAddress as new TabPage()
    tpAddress.Parent = tc
    tpAddress.Text = "Address Book"
    dim tpDates as new TabPage()
    tpDates.Parent = tc
    tpDates.Text = "Date Book"
    dim tpToDo as new TabPage()
    tpToDo.Parent = tc
    tpToDo.Text = "ToDo List"
    dim tpMisc as new TabPage()
    tpMisc.Parent = tc
    tpMisc.Text = "A Really Long Tab"
    tpMisc.ImageIndex = 0
    dim lbl as new Label()
    lbl.Parent = tpAddress
    lbl.Text = "Put the Address book controls on this page."
    lbl.AutoSize = true
    lbl.Location = new Point(10,25)
    dim pnl as new Panel()
    pnl.Parent = tpDates
    pnl.BorderStyle = BorderStyle.Fixed3D
    pnl.Location = new Point(10,10)
    pnl.Anchor = AnchorStyles.Top or AnchorStyles.Bottom or _
          AnchorStyles.Left or AnchorStyles.Right
    pnl.Size = new Size(tpDates.Width - 20, tpDates.Height - 20)
    dim cal as new MonthCalendar()
    cal.Parent = pnl
    cal.Location = new Point(25,25)
    dim rtxt as new RichTextBox()
    rtxt.Parent = tpToDo
    rtxt.Dock = DockStyle.Fill
    rtxt.BorderStyle = BorderStyle.FixedSingle
  end sub
  public shared sub Main() 
    Application.Run(new TabControls())
  end sub
  private sub tc_Changed(ByVal sender as object,ByVal e as EventArgs)
    dim tc as TabControl = CType(sender,TabControl)
    Console.WriteLine("Button " + tc.SelectedIndex.ToString())
  end sub
end class


TabControl.ImageList

  
imports System
imports System.Drawing
imports System.Windows.Forms

public class TabControls : inherits Form
  public sub New()
    Size = new Size(325,375)
    dim tc as new TabControl()
    tc.Parent = me
    tc.Size = new Size(275,300)
    tc.Location = new Point(25,25)
    tc.Anchor = AnchorStyles.Top or AnchorStyles.Bottom or AnchorStyles.Left or AnchorStyles.Right
    tc.Alignment = TabAlignment.Top
    tc.Appearance = TabAppearance.Normal
    tc.HotTrack = true
    tc.Multiline = true
    tc.Padding = new Point(20,3)
    tc.SizeMode = TabSizeMode.FillToRight
    AddHandler tc.SelectedIndexChanged, AddressOf tc_Changed
    tc.Text = "Some text"
    dim img as Image = Image.FromFile("1.ico")
    dim imgList as new ImageList()
    imgList.Images.Add(img)
    tc.ImageList = imgList
    dim tpAddress as new TabPage()
    tpAddress.Parent = tc
    tpAddress.Text = "Address Book"
    dim tpDates as new TabPage()
    tpDates.Parent = tc
    tpDates.Text = "Date Book"
    dim tpToDo as new TabPage()
    tpToDo.Parent = tc
    tpToDo.Text = "ToDo List"
    dim tpMisc as new TabPage()
    tpMisc.Parent = tc
    tpMisc.Text = "A Really Long Tab"
    tpMisc.ImageIndex = 0
    dim lbl as new Label()
    lbl.Parent = tpAddress
    lbl.Text = "Put the Address book controls on this page."
    lbl.AutoSize = true
    lbl.Location = new Point(10,25)
    dim pnl as new Panel()
    pnl.Parent = tpDates
    pnl.BorderStyle = BorderStyle.Fixed3D
    pnl.Location = new Point(10,10)
    pnl.Anchor = AnchorStyles.Top or AnchorStyles.Bottom or _
          AnchorStyles.Left or AnchorStyles.Right
    pnl.Size = new Size(tpDates.Width - 20, tpDates.Height - 20)
    dim cal as new MonthCalendar()
    cal.Parent = pnl
    cal.Location = new Point(25,25)
    dim rtxt as new RichTextBox()
    rtxt.Parent = tpToDo
    rtxt.Dock = DockStyle.Fill
    rtxt.BorderStyle = BorderStyle.FixedSingle
  end sub
  public shared sub Main() 
    Application.Run(new TabControls())
  end sub
  private sub tc_Changed(ByVal sender as object,ByVal e as EventArgs)
    dim tc as TabControl = CType(sender,TabControl)
    Console.WriteLine("Button " + tc.SelectedIndex.ToString())
  end sub
end class


TabControl.Multiline

  
imports System
imports System.Drawing
imports System.Windows.Forms

public class TabControls : inherits Form
  public sub New()
    Size = new Size(325,375)
    dim tc as new TabControl()
    tc.Parent = me
    tc.Size = new Size(275,300)
    tc.Location = new Point(25,25)
    tc.Anchor = AnchorStyles.Top or AnchorStyles.Bottom or AnchorStyles.Left or AnchorStyles.Right
    tc.Alignment = TabAlignment.Top
    tc.Appearance = TabAppearance.Normal
    tc.HotTrack = true
    tc.Multiline = true
    tc.Padding = new Point(20,3)
    tc.SizeMode = TabSizeMode.FillToRight
    AddHandler tc.SelectedIndexChanged, AddressOf tc_Changed
    tc.Text = "Some text"
    dim img as Image = Image.FromFile("1.ico")
    dim imgList as new ImageList()
    imgList.Images.Add(img)
    tc.ImageList = imgList
    dim tpAddress as new TabPage()
    tpAddress.Parent = tc
    tpAddress.Text = "Address Book"
    dim tpDates as new TabPage()
    tpDates.Parent = tc
    tpDates.Text = "Date Book"
    dim tpToDo as new TabPage()
    tpToDo.Parent = tc
    tpToDo.Text = "ToDo List"
    dim tpMisc as new TabPage()
    tpMisc.Parent = tc
    tpMisc.Text = "A Really Long Tab"
    tpMisc.ImageIndex = 0
    dim lbl as new Label()
    lbl.Parent = tpAddress
    lbl.Text = "Put the Address book controls on this page."
    lbl.AutoSize = true
    lbl.Location = new Point(10,25)
    dim pnl as new Panel()
    pnl.Parent = tpDates
    pnl.BorderStyle = BorderStyle.Fixed3D
    pnl.Location = new Point(10,10)
    pnl.Anchor = AnchorStyles.Top or AnchorStyles.Bottom or _
          AnchorStyles.Left or AnchorStyles.Right
    pnl.Size = new Size(tpDates.Width - 20, tpDates.Height - 20)
    dim cal as new MonthCalendar()
    cal.Parent = pnl
    cal.Location = new Point(25,25)
    dim rtxt as new RichTextBox()
    rtxt.Parent = tpToDo
    rtxt.Dock = DockStyle.Fill
    rtxt.BorderStyle = BorderStyle.FixedSingle
  end sub
  public shared sub Main() 
    Application.Run(new TabControls())
  end sub
  private sub tc_Changed(ByVal sender as object,ByVal e as EventArgs)
    dim tc as TabControl = CType(sender,TabControl)
    Console.WriteLine("Button " + tc.SelectedIndex.ToString())
  end sub
end class


TabControl.Padding

  
imports System
imports System.Drawing
imports System.Windows.Forms

public class TabControls : inherits Form
  public sub New()
    Size = new Size(325,375)
    dim tc as new TabControl()
    tc.Parent = me
    tc.Size = new Size(275,300)
    tc.Location = new Point(25,25)
    tc.Anchor = AnchorStyles.Top or AnchorStyles.Bottom or AnchorStyles.Left or AnchorStyles.Right
    tc.Alignment = TabAlignment.Top
    tc.Appearance = TabAppearance.Normal
    tc.HotTrack = true
    tc.Multiline = true
    tc.Padding = new Point(20,3)
    tc.SizeMode = TabSizeMode.FillToRight
    AddHandler tc.SelectedIndexChanged, AddressOf tc_Changed
    tc.Text = "Some text"
    dim img as Image = Image.FromFile("1.ico")
    dim imgList as new ImageList()
    imgList.Images.Add(img)
    tc.ImageList = imgList
    dim tpAddress as new TabPage()
    tpAddress.Parent = tc
    tpAddress.Text = "Address Book"
    dim tpDates as new TabPage()
    tpDates.Parent = tc
    tpDates.Text = "Date Book"
    dim tpToDo as new TabPage()
    tpToDo.Parent = tc
    tpToDo.Text = "ToDo List"
    dim tpMisc as new TabPage()
    tpMisc.Parent = tc
    tpMisc.Text = "A Really Long Tab"
    tpMisc.ImageIndex = 0
    dim lbl as new Label()
    lbl.Parent = tpAddress
    lbl.Text = "Put the Address book controls on this page."
    lbl.AutoSize = true
    lbl.Location = new Point(10,25)
    dim pnl as new Panel()
    pnl.Parent = tpDates
    pnl.BorderStyle = BorderStyle.Fixed3D
    pnl.Location = new Point(10,10)
    pnl.Anchor = AnchorStyles.Top or AnchorStyles.Bottom or _
          AnchorStyles.Left or AnchorStyles.Right
    pnl.Size = new Size(tpDates.Width - 20, tpDates.Height - 20)
    dim cal as new MonthCalendar()
    cal.Parent = pnl
    cal.Location = new Point(25,25)
    dim rtxt as new RichTextBox()
    rtxt.Parent = tpToDo
    rtxt.Dock = DockStyle.Fill
    rtxt.BorderStyle = BorderStyle.FixedSingle
  end sub
  public shared sub Main() 
    Application.Run(new TabControls())
  end sub
  private sub tc_Changed(ByVal sender as object,ByVal e as EventArgs)
    dim tc as TabControl = CType(sender,TabControl)
    Console.WriteLine("Button " + tc.SelectedIndex.ToString())
  end sub
end class


TabControl.SelectedIndexChanged

  
imports System
imports System.Drawing
imports System.Windows.Forms

public class TabControls : inherits Form
  public sub New()
    Size = new Size(325,375)
    dim tc as new TabControl()
    tc.Parent = me
    tc.Size = new Size(275,300)
    tc.Location = new Point(25,25)
    tc.Anchor = AnchorStyles.Top or AnchorStyles.Bottom or AnchorStyles.Left or AnchorStyles.Right
    tc.Alignment = TabAlignment.Top
    tc.Appearance = TabAppearance.Normal
    tc.HotTrack = true
    tc.Multiline = true
    tc.Padding = new Point(20,3)
    tc.SizeMode = TabSizeMode.FillToRight
    AddHandler tc.SelectedIndexChanged, AddressOf tc_Changed
    tc.Text = "Some text"
    dim img as Image = Image.FromFile("1.ico")
    dim imgList as new ImageList()
    imgList.Images.Add(img)
    tc.ImageList = imgList
    dim tpAddress as new TabPage()
    tpAddress.Parent = tc
    tpAddress.Text = "Address Book"
    dim tpDates as new TabPage()
    tpDates.Parent = tc
    tpDates.Text = "Date Book"
    dim tpToDo as new TabPage()
    tpToDo.Parent = tc
    tpToDo.Text = "ToDo List"
    dim tpMisc as new TabPage()
    tpMisc.Parent = tc
    tpMisc.Text = "A Really Long Tab"
    tpMisc.ImageIndex = 0
    dim lbl as new Label()
    lbl.Parent = tpAddress
    lbl.Text = "Put the Address book controls on this page."
    lbl.AutoSize = true
    lbl.Location = new Point(10,25)
    dim pnl as new Panel()
    pnl.Parent = tpDates
    pnl.BorderStyle = BorderStyle.Fixed3D
    pnl.Location = new Point(10,10)
    pnl.Anchor = AnchorStyles.Top or AnchorStyles.Bottom or _
          AnchorStyles.Left or AnchorStyles.Right
    pnl.Size = new Size(tpDates.Width - 20, tpDates.Height - 20)
    dim cal as new MonthCalendar()
    cal.Parent = pnl
    cal.Location = new Point(25,25)
    dim rtxt as new RichTextBox()
    rtxt.Parent = tpToDo
    rtxt.Dock = DockStyle.Fill
    rtxt.BorderStyle = BorderStyle.FixedSingle
  end sub
  public shared sub Main() 
    Application.Run(new TabControls())
  end sub
  private sub tc_Changed(ByVal sender as object,ByVal e as EventArgs)
    dim tc as TabControl = CType(sender,TabControl)
    Console.WriteLine("Button " + tc.SelectedIndex.ToString())
  end sub
end class


TabControl.SizeMode

  
imports System
imports System.Drawing
imports System.Windows.Forms

public class TabControls : inherits Form
  public sub New()
    Size = new Size(325,375)
    dim tc as new TabControl()
    tc.Parent = me
    tc.Size = new Size(275,300)
    tc.Location = new Point(25,25)
    tc.Anchor = AnchorStyles.Top or AnchorStyles.Bottom or AnchorStyles.Left or AnchorStyles.Right
    tc.Alignment = TabAlignment.Top
    tc.Appearance = TabAppearance.Normal
    tc.HotTrack = true
    tc.Multiline = true
    tc.Padding = new Point(20,3)
    tc.SizeMode = TabSizeMode.FillToRight
    AddHandler tc.SelectedIndexChanged, AddressOf tc_Changed
    tc.Text = "Some text"
    dim img as Image = Image.FromFile("1.ico")
    dim imgList as new ImageList()
    imgList.Images.Add(img)
    tc.ImageList = imgList
    dim tpAddress as new TabPage()
    tpAddress.Parent = tc
    tpAddress.Text = "Address Book"
    dim tpDates as new TabPage()
    tpDates.Parent = tc
    tpDates.Text = "Date Book"
    dim tpToDo as new TabPage()
    tpToDo.Parent = tc
    tpToDo.Text = "ToDo List"
    dim tpMisc as new TabPage()
    tpMisc.Parent = tc
    tpMisc.Text = "A Really Long Tab"
    tpMisc.ImageIndex = 0
    dim lbl as new Label()
    lbl.Parent = tpAddress
    lbl.Text = "Put the Address book controls on this page."
    lbl.AutoSize = true
    lbl.Location = new Point(10,25)
    dim pnl as new Panel()
    pnl.Parent = tpDates
    pnl.BorderStyle = BorderStyle.Fixed3D
    pnl.Location = new Point(10,10)
    pnl.Anchor = AnchorStyles.Top or AnchorStyles.Bottom or _
          AnchorStyles.Left or AnchorStyles.Right
    pnl.Size = new Size(tpDates.Width - 20, tpDates.Height - 20)
    dim cal as new MonthCalendar()
    cal.Parent = pnl
    cal.Location = new Point(25,25)
    dim rtxt as new RichTextBox()
    rtxt.Parent = tpToDo
    rtxt.Dock = DockStyle.Fill
    rtxt.BorderStyle = BorderStyle.FixedSingle
  end sub
  public shared sub Main() 
    Application.Run(new TabControls())
  end sub
  private sub tc_Changed(ByVal sender as object,ByVal e as EventArgs)
    dim tc as TabControl = CType(sender,TabControl)
    Console.WriteLine("Button " + tc.SelectedIndex.ToString())
  end sub
end class


TabControl.TabPages

  

Imports System.Drawing
Imports System.Drawing.Drawing2D
Imports System.Windows.Forms
public class AddNewTab
   public Shared Sub Main
        Application.Run(New Form1)
   End Sub
End class
Public Class Form1
    Inherits System.Windows.Forms.Form
#Region " Windows Form Designer generated code "
    Public Sub New()
        MyBase.New()
        "This call is required by the Windows Form Designer.
        InitializeComponent()
        "Add any initialization after the InitializeComponent() call
    End Sub
    "Form overrides dispose to clean up the component list.
    Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
        If disposing Then
            If Not (components Is Nothing) Then
                components.Dispose()
            End If
        End If
        MyBase.Dispose(disposing)
    End Sub
    "Required by the Windows Form Designer
    Private components As System.ruponentModel.IContainer
    "NOTE: The following procedure is required by the Windows Form Designer
    "It can be modified using the Windows Form Designer.  
    "Do not modify it using the code editor.
    Friend WithEvents TabControl1 As System.Windows.Forms.TabControl
    Friend WithEvents TabPage1 As System.Windows.Forms.TabPage
    Friend WithEvents TabPage2 As System.Windows.Forms.TabPage
    Friend WithEvents TabPage3 As System.Windows.Forms.TabPage
    Friend WithEvents Label2 As System.Windows.Forms.Label
    Friend WithEvents Label3 As System.Windows.Forms.Label
    Friend WithEvents Label4 As System.Windows.Forms.Label
    Friend WithEvents Button1 As System.Windows.Forms.Button
    <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
        Me.TabControl1 = New System.Windows.Forms.TabControl
        Me.TabPage1 = New System.Windows.Forms.TabPage
        Me.TabPage2 = New System.Windows.Forms.TabPage
        Me.TabPage3 = New System.Windows.Forms.TabPage
        Me.Label2 = New System.Windows.Forms.Label
        Me.Label3 = New System.Windows.Forms.Label
        Me.Label4 = New System.Windows.Forms.Label
        Me.Button1 = New System.Windows.Forms.Button
        Me.TabControl1.SuspendLayout()
        Me.TabPage1.SuspendLayout()
        Me.TabPage2.SuspendLayout()
        Me.TabPage3.SuspendLayout()
        Me.SuspendLayout()
        "
        "TabControl1
        "
        Me.TabControl1.Controls.Add(Me.TabPage1)
        Me.TabControl1.Controls.Add(Me.TabPage2)
        Me.TabControl1.Controls.Add(Me.TabPage3)
        Me.TabControl1.Dock = System.Windows.Forms.DockStyle.Bottom
        Me.TabControl1.HotTrack = True
        Me.TabControl1.Location = New System.Drawing.Point(0, 89)
        Me.TabControl1.Name = "TabControl1"
        Me.TabControl1.SelectedIndex = 0
        Me.TabControl1.Size = New System.Drawing.Size(292, 184)
        Me.TabControl1.TabIndex = 1
        "
        "TabPage1
        "
        Me.TabPage1.Controls.Add(Me.Label2)
        Me.TabPage1.Location = New System.Drawing.Point(4, 22)
        Me.TabPage1.Name = "TabPage1"
        Me.TabPage1.Size = New System.Drawing.Size(284, 158)
        Me.TabPage1.TabIndex = 0
        Me.TabPage1.Text = "Tab Page 1"
        "
        "TabPage2
        "
        Me.TabPage2.Controls.Add(Me.Label3)
        Me.TabPage2.Location = New System.Drawing.Point(4, 22)
        Me.TabPage2.Name = "TabPage2"
        Me.TabPage2.Size = New System.Drawing.Size(284, 158)
        Me.TabPage2.TabIndex = 1
        Me.TabPage2.Text = "Tab Page 2"
        "
        "TabPage3
        "
        Me.TabPage3.Controls.Add(Me.Label4)
        Me.TabPage3.Location = New System.Drawing.Point(4, 22)
        Me.TabPage3.Name = "TabPage3"
        Me.TabPage3.Size = New System.Drawing.Size(284, 158)
        Me.TabPage3.TabIndex = 2
        Me.TabPage3.Text = "Tab Page 3"
        "
        "Label2
        "
        Me.Label2.Dock = System.Windows.Forms.DockStyle.Fill
        Me.Label2.Font = New System.Drawing.Font("Microsoft Sans Serif", 24.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
        Me.Label2.Location = New System.Drawing.Point(0, 0)
        Me.Label2.Name = "Label2"
        Me.Label2.Size = New System.Drawing.Size(284, 158)
        Me.Label2.TabIndex = 0
        Me.Label2.Text = "Tab Page 1"
        "
        "Label3
        "
        Me.Label3.Dock = System.Windows.Forms.DockStyle.Fill
        Me.Label3.Font = New System.Drawing.Font("Microsoft Sans Serif", 24.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
        Me.Label3.Location = New System.Drawing.Point(0, 0)
        Me.Label3.Name = "Label3"
        Me.Label3.Size = New System.Drawing.Size(284, 158)
        Me.Label3.TabIndex = 0
        Me.Label3.Text = "Tab Page 2"
        "
        "Label4
        "
        Me.Label4.Dock = System.Windows.Forms.DockStyle.Fill
        Me.Label4.Font = New System.Drawing.Font("Microsoft Sans Serif", 24.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
        Me.Label4.Location = New System.Drawing.Point(0, 0)
        Me.Label4.Name = "Label4"
        Me.Label4.Size = New System.Drawing.Size(284, 158)
        Me.Label4.TabIndex = 0
        Me.Label4.Text = "Tab Page 3"
        "
        "Button1
        "
        Me.Button1.Location = New System.Drawing.Point(96, 48)
        Me.Button1.Name = "Button1"
        Me.Button1.Size = New System.Drawing.Size(88, 23)
        Me.Button1.TabIndex = 2
        Me.Button1.Text = "Add New Tab"
        "
        "Form1
        "
        Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)
        Me.ClientSize = New System.Drawing.Size(292, 273)
        Me.Controls.Add(Me.Button1)
        Me.Controls.Add(Me.TabControl1)
        Me.Name = "Form1"
        Me.Text = "Form1"
        Me.TabControl1.ResumeLayout(False)
        Me.TabPage1.ResumeLayout(False)
        Me.TabPage2.ResumeLayout(False)
        Me.TabPage3.ResumeLayout(False)
        Me.ResumeLayout(False)
    End Sub
#End Region
    Dim tabPage4 As New TabPage
    Dim lblLabel1 As New Label
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        tabPage4.Text = "Tab Page 4"
        TabControl1.TabPages.Add(tabPage4)
        lblLabel1.Dock = DockStyle.Fill
        lblLabel1.Text = "Tab Page 4"
        lblLabel1.Font = New Font("Microsoft San Serif", 24)
        TabControl1.TabPages(3).Controls.Add(lblLabel1)
    End Sub
End Class