VB.Net Tutorial/GUI/TabControl
Содержание
Add new Tab
<source lang="vbnet">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</source>
Custom Tab
<source lang="vbnet">Imports System.Windows.Forms Imports System.Drawing public class CustomTabControl
public Shared Sub Main Application.Run(New Form1) End Sub
End class Public Class Form1
" Draw ellipses in the tabs. Private Sub tabProject_DrawItem(ByVal sender As Object, _ ByVal e As System.Windows.Forms.DrawItemEventArgs) Handles tabProject.DrawItem " Get the drawing bounds. Dim rect As Rectangle = e.Bounds If (e.State And DrawItemState.Selected) = DrawItemState.Selected Then " Allow extra room for the selected tab. 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 " Fill the ellipse with the right color. 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 " Outline the ellipse in black. If (e.State And DrawItemState.Selected) = DrawItemState.Selected Then " Use a thick line for the selected tab. 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</source>
Put RadioButtons to a Tab Control
<source lang="vbnet">Imports System.Windows.Forms public class TabControlRadioButton
public Shared Sub Main Application.Run(New Form1) End Sub
End class
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click If RadioButton1.Checked = True Then Me.BackColor = System.Drawing.Color.Red End If If RadioButton2.Checked = True Then Me.BackColor = System.Drawing.Color.Blue End If End Sub
End Class <Global.Microsoft.VisualBasic.rupilerServices.DesignerGenerated()> _ Partial Class Form1
Inherits System.Windows.Forms.Form "Form overrides dispose to clean up the component list. <System.Diagnostics.DebuggerNonUserCode()> _ Protected 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.TabControl1 = New System.Windows.Forms.TabControl Me.myscreensave = New System.Windows.Forms.TabPage Me.mybackground = New System.Windows.Forms.TabPage Me.TextBox1 = New System.Windows.Forms.TextBox Me.Label1 = New System.Windows.Forms.Label Me.RadioButton1 = New System.Windows.Forms.RadioButton Me.RadioButton2 = New System.Windows.Forms.RadioButton Me.Button1 = New System.Windows.Forms.Button Me.Button2 = New System.Windows.Forms.Button Me.TabControl1.SuspendLayout() Me.myscreensave.SuspendLayout() Me.mybackground.SuspendLayout() Me.SuspendLayout() " "TabControl1 " Me.TabControl1.Controls.Add(Me.myscreensave) Me.TabControl1.Controls.Add(Me.mybackground) Me.TabControl1.Location = New System.Drawing.Point(17, 12) Me.TabControl1.Name = "TabControl1" Me.TabControl1.SelectedIndex = 0 Me.TabControl1.Size = New System.Drawing.Size(379, 161) Me.TabControl1.TabIndex = 0 " "myscreensave " Me.myscreensave.Controls.Add(Me.TextBox1) Me.myscreensave.Location = New System.Drawing.Point(4, 21) Me.myscreensave.Name = "myscreensave" Me.myscreensave.Padding = New System.Windows.Forms.Padding(3) Me.myscreensave.Size = New System.Drawing.Size(371, 136) Me.myscreensave.TabIndex = 0 Me.myscreensave.Text = "Screen Saver" Me.myscreensave.UseVisualStyleBackColor = True " "mybackground " Me.mybackground.Controls.Add(Me.RadioButton2) Me.mybackground.Controls.Add(Me.RadioButton1) Me.mybackground.Controls.Add(Me.Label1) Me.mybackground.Location = New System.Drawing.Point(4, 21) Me.mybackground.Name = "mybackground" Me.mybackground.Padding = New System.Windows.Forms.Padding(3) Me.mybackground.Size = New System.Drawing.Size(371, 156) Me.mybackground.TabIndex = 1 Me.mybackground.Text = "Color" Me.mybackground.UseVisualStyleBackColor = True " "TextBox1 " Me.TextBox1.Location = New System.Drawing.Point(6, 101) Me.TextBox1.Name = "TextBox1" Me.TextBox1.Size = New System.Drawing.Size(260, 21) Me.TextBox1.TabIndex = 0 Me.TextBox1.Text = "Function" " "Label1 " Me.Label1.AutoSize = True Me.Label1.Location = New System.Drawing.Point(23, 16) Me.Label1.Name = "Label1" Me.Label1.Size = New System.Drawing.Size(89, 12) Me.Label1.TabIndex = 0 Me.Label1.Text = "Select" " "RadioButton1 " Me.RadioButton1.AutoSize = True Me.RadioButton1.Location = New System.Drawing.Point(25, 49) Me.RadioButton1.Name = "RadioButton1" Me.RadioButton1.Size = New System.Drawing.Size(47, 16) Me.RadioButton1.TabIndex = 1 Me.RadioButton1.TabStop = True Me.RadioButton1.Text = "Red" Me.RadioButton1.UseVisualStyleBackColor = True " "RadioButton2 " Me.RadioButton2.AutoSize = True Me.RadioButton2.Location = New System.Drawing.Point(25, 71) Me.RadioButton2.Name = "RadioButton2" Me.RadioButton2.Size = New System.Drawing.Size(47, 16) Me.RadioButton2.TabIndex = 2 Me.RadioButton2.TabStop = True Me.RadioButton2.Text = "Blue" Me.RadioButton2.UseVisualStyleBackColor = True " "Button1 " Me.Button1.Location = New System.Drawing.Point(58, 179) Me.Button1.Name = "Button1" Me.Button1.Size = New System.Drawing.Size(75, 23) Me.Button1.TabIndex = 1 Me.Button1.Text = "OK" Me.Button1.UseVisualStyleBackColor = True " "Button2 " Me.Button2.Location = New System.Drawing.Point(250, 179) Me.Button2.Name = "Button2" Me.Button2.Size = New System.Drawing.Size(75, 23) Me.Button2.TabIndex = 2 Me.Button2.Text = "Cancel" Me.Button2.UseVisualStyleBackColor = True " "Form1 " Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 12.0!) Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font Me.ClientSize = New System.Drawing.Size(407, 214) Me.Controls.Add(Me.Button2) Me.Controls.Add(Me.Button1) Me.Controls.Add(Me.TabControl1) Me.Name = "Form1" Me.Text = "TabControl Demo" Me.TabControl1.ResumeLayout(False) Me.myscreensave.ResumeLayout(False) Me.myscreensave.PerformLayout() Me.mybackground.ResumeLayout(False) Me.mybackground.PerformLayout() Me.ResumeLayout(False) End Sub Friend WithEvents TabControl1 As System.Windows.Forms.TabControl Friend WithEvents myscreensave As System.Windows.Forms.TabPage Friend WithEvents mybackground As System.Windows.Forms.TabPage Friend WithEvents TextBox1 As System.Windows.Forms.TextBox Friend WithEvents Label1 As System.Windows.Forms.Label Friend WithEvents RadioButton2 As System.Windows.Forms.RadioButton Friend WithEvents RadioButton1 As System.Windows.Forms.RadioButton Friend WithEvents Button1 As System.Windows.Forms.Button Friend WithEvents Button2 As System.Windows.Forms.Button
End Class</source>
Tab Control
<source lang="vbnet">Imports System.Windows.Forms public class TabControl
public Shared Sub Main Application.Run(New Form1) End Sub
End class Public Class Form1
Inherits System.Windows.Forms.Form Public Sub New() MyBase.New() InitializeComponent() End Sub 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 Private components As System.ruponentModel.IContainer 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 TabPage4 As System.Windows.Forms.TabPage Friend WithEvents TabPage5 As System.Windows.Forms.TabPage Friend WithEvents TabPage6 As System.Windows.Forms.TabPage Friend WithEvents ListBox1 As System.Windows.Forms.ListBox Friend WithEvents Button1 As System.Windows.Forms.Button Friend WithEvents Button2 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.TabPage4 = New System.Windows.Forms.TabPage Me.TabPage5 = New System.Windows.Forms.TabPage Me.TabPage6 = New System.Windows.Forms.TabPage Me.ListBox1 = New System.Windows.Forms.ListBox Me.Button1 = New System.Windows.Forms.Button Me.Button2 = New System.Windows.Forms.Button Me.TabControl1.SuspendLayout() Me.TabPage1.SuspendLayout() Me.SuspendLayout() " "TabControl1 " Me.TabControl1.Controls.Add(Me.TabPage1) Me.TabControl1.Controls.Add(Me.TabPage3) Me.TabControl1.Controls.Add(Me.TabPage2) Me.TabControl1.Controls.Add(Me.TabPage4) Me.TabControl1.Controls.Add(Me.TabPage5) Me.TabControl1.Controls.Add(Me.TabPage6) Me.TabControl1.Location = New System.Drawing.Point(40, 24) Me.TabControl1.Multiline = True Me.TabControl1.Name = "TabControl1" Me.TabControl1.SelectedIndex = 0 Me.TabControl1.Size = New System.Drawing.Size(208, 208) Me.TabControl1.TabIndex = 0 " "TabPage1 " Me.TabPage1.Controls.Add(Me.Button2) Me.TabPage1.Controls.Add(Me.Button1) Me.TabPage1.Controls.Add(Me.ListBox1) Me.TabPage1.Location = New System.Drawing.Point(4, 40) Me.TabPage1.Name = "TabPage1" Me.TabPage1.Size = New System.Drawing.Size(200, 164) Me.TabPage1.TabIndex = 0 Me.TabPage1.Text = "A" " "TabPage2 " Me.TabPage2.Location = New System.Drawing.Point(4, 22) Me.TabPage2.Name = "TabPage2" Me.TabPage2.Size = New System.Drawing.Size(232, 182) Me.TabPage2.TabIndex = 1 Me.TabPage2.Text = "B" " "TabPage3 " Me.TabPage3.Location = New System.Drawing.Point(4, 40) Me.TabPage3.Name = "TabPage3" Me.TabPage3.Size = New System.Drawing.Size(200, 164) Me.TabPage3.TabIndex = 2 Me.TabPage3.Text = "C" " "TabPage4 " Me.TabPage4.Location = New System.Drawing.Point(4, 40) Me.TabPage4.Name = "TabPage4" Me.TabPage4.Size = New System.Drawing.Size(232, 164) Me.TabPage4.TabIndex = 3 Me.TabPage4.Text = "D" " "TabPage5 " Me.TabPage5.Location = New System.Drawing.Point(4, 40) Me.TabPage5.Name = "TabPage5" Me.TabPage5.Size = New System.Drawing.Size(232, 164) Me.TabPage5.TabIndex = 4 Me.TabPage5.Text = "E" " "TabPage6 " Me.TabPage6.Location = New System.Drawing.Point(4, 40) Me.TabPage6.Name = "TabPage6" Me.TabPage6.Size = New System.Drawing.Size(200, 164) Me.TabPage6.TabIndex = 5 Me.TabPage6.Text = "F" " "ListBox1 " Me.ListBox1.Items.AddRange(New Object() {"A", "B", "C"}) Me.ListBox1.Location = New System.Drawing.Point(16, 16) Me.ListBox1.Name = "ListBox1" Me.ListBox1.Size = New System.Drawing.Size(88, 108) Me.ListBox1.TabIndex = 0 " "Button1 " Me.Button1.Location = New System.Drawing.Point(120, 32) Me.Button1.Name = "Button1" Me.Button1.Size = New System.Drawing.Size(56, 24) Me.Button1.TabIndex = 1 Me.Button1.Text = "Add" " "Button2 " Me.Button2.Location = New System.Drawing.Point(120, 88) Me.Button2.Name = "Button2" Me.Button2.Size = New System.Drawing.Size(56, 24) Me.Button2.TabIndex = 2 Me.Button2.Text = "Delete" " "Form1 " Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13) Me.ClientSize = New System.Drawing.Size(292, 266) Me.Controls.Add(Me.TabControl1) Me.TabControl1.ResumeLayout(False) Me.TabPage1.ResumeLayout(False) Me.ResumeLayout(False) End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click ListBox1.Items.Add("str") End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click ListBox1.Items.Remove(ListBox1.SelectedItem) End Sub
End Class</source>
TabControl and TabPages
<source lang="vbnet">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</source>
Using TabControl to display various font settings
<source lang="vbnet">Imports System.Windows.Forms Imports System.Drawing Imports System.Drawing.Drawing2D public class FormTabControl
public Shared Sub Main Application.Run(New FrmTabs) End Sub
End class
Public Class FrmTabs
Inherits 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 " output label reflects text changes Friend WithEvents lblDisplay As Label " table control containing table pages tbpColor, " tbpSize, tbpMessage and tbpAbout Friend WithEvents tbcTextOptions As TabControl " table page containing color options Friend WithEvents tbpColor As TabPage Friend WithEvents radBlack As RadioButton Friend WithEvents radRed As RadioButton Friend WithEvents radGreen As RadioButton " table page containing font size options Friend WithEvents tbpSize As TabPage Friend WithEvents radSize12 As RadioButton Friend WithEvents radSize16 As RadioButton Friend WithEvents radSize20 As RadioButton " table page containing text display options Friend WithEvents tbpMessage As TabPage Friend WithEvents radHello As RadioButton Friend WithEvents radGoodbye As RadioButton " table page containing about message Friend WithEvents tbpAbout As TabPage Friend WithEvents lblMessage As Label "Required by the Windows Form Designer Private components As System.ruponentModel.Container "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.radSize12 = New System.Windows.Forms.RadioButton() Me.radSize20 = New System.Windows.Forms.RadioButton() Me.radHello = New System.Windows.Forms.RadioButton() Me.lblDisplay = New System.Windows.Forms.Label() Me.tbpMessage = New System.Windows.Forms.TabPage() Me.radGoodbye = New System.Windows.Forms.RadioButton() Me.tbpAbout = New System.Windows.Forms.TabPage() Me.lblMessage = New System.Windows.Forms.Label() Me.radSize16 = New System.Windows.Forms.RadioButton() Me.tbpColor = New System.Windows.Forms.TabPage() Me.radGreen = New System.Windows.Forms.RadioButton() Me.radRed = New System.Windows.Forms.RadioButton() Me.radBlack = New System.Windows.Forms.RadioButton() Me.tbcTextOptions = New System.Windows.Forms.TabControl() Me.tbpSize = New System.Windows.Forms.TabPage() Me.tbpMessage.SuspendLayout() Me.tbpAbout.SuspendLayout() Me.tbpColor.SuspendLayout() Me.tbcTextOptions.SuspendLayout() Me.tbpSize.SuspendLayout() Me.SuspendLayout() " "radSize12 " Me.radSize12.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.radSize12.Location = New System.Drawing.Point(16, 24) Me.radSize12.Name = "radSize12" Me.radSize12.TabIndex = 0 Me.radSize12.Text = "12 point" " "radSize20 " Me.radSize20.Location = New System.Drawing.Point(16, 104) Me.radSize20.Name = "radSize20" Me.radSize20.TabIndex = 2 Me.radSize20.Text = "20 point" " "radHello " Me.radHello.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.radHello.Location = New System.Drawing.Point(16, 24) Me.radHello.Name = "radHello" Me.radHello.TabIndex = 0 Me.radHello.Text = "Hello!" " "lblDisplay " Me.lblDisplay.Font = New System.Drawing.Font("Microsoft Sans Serif", 12.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.lblDisplay.Location = New System.Drawing.Point(16, 184) Me.lblDisplay.Name = "lblDisplay" Me.lblDisplay.Size = New System.Drawing.Size(272, 40) Me.lblDisplay.TabIndex = 1 Me.lblDisplay.Text = "Hello!" Me.lblDisplay.TextAlign = System.Drawing.ContentAlignment.MiddleCenter " "tbpMessage " Me.tbpMessage.Controls.AddRange(New System.Windows.Forms.Control() {Me.radGoodbye, Me.radHello}) Me.tbpMessage.Location = New System.Drawing.Point(4, 22) Me.tbpMessage.Name = "tbpMessage" Me.tbpMessage.TabIndex = 2 Me.tbpMessage.Text = "Message" " "radGoodbye " Me.radGoodbye.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.radGoodbye.Location = New System.Drawing.Point(16, 64) Me.radGoodbye.Name = "radGoodbye" Me.radGoodbye.TabIndex = 1 Me.radGoodbye.Text = "Goodbye!" " "tbpAbout " Me.tbpAbout.Controls.AddRange(New System.Windows.Forms.Control() {Me.lblMessage}) Me.tbpAbout.Location = New System.Drawing.Point(4, 22) Me.tbpAbout.Name = "tbpAbout" Me.tbpAbout.TabIndex = 3 Me.tbpAbout.Text = "About" " "lblMessage " Me.lblMessage.Font = New System.Drawing.Font("Microsoft Sans Serif", 14.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.lblMessage.Location = New System.Drawing.Point(16, 16) Me.lblMessage.Name = "lblMessage" Me.lblMessage.Size = New System.Drawing.Size(248, 104) Me.lblMessage.TabIndex = 0 Me.lblMessage.Text = "Tabs are used to organize controls and conserve screen space." " "radSize16 " Me.radSize16.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.radSize16.Location = New System.Drawing.Point(16, 64) Me.radSize16.Name = "radSize16" Me.radSize16.TabIndex = 1 Me.radSize16.Text = "16 point" " "tbpColor " Me.tbpColor.Controls.AddRange(New System.Windows.Forms.Control() {Me.radGreen, Me.radRed, Me.radBlack}) Me.tbpColor.Location = New System.Drawing.Point(4, 22) Me.tbpColor.Name = "tbpColor" Me.tbpColor.TabIndex = 0 Me.tbpColor.Text = "Color" " "radGreen " Me.radGreen.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.radGreen.Location = New System.Drawing.Point(16, 104) Me.radGreen.Name = "radGreen" Me.radGreen.TabIndex = 2 Me.radGreen.Text = "Green" " "radRed " Me.radRed.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.radRed.Location = New System.Drawing.Point(16, 64) Me.radRed.Name = "radRed" Me.radRed.TabIndex = 1 Me.radRed.Text = "Red" " "radBlack " Me.radBlack.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.radBlack.Location = New System.Drawing.Point(16, 24) Me.radBlack.Name = "radBlack" Me.radBlack.TabIndex = 0 Me.radBlack.Text = "Black" " "tbcTextOptions " Me.tbcTextOptions.Controls.AddRange(New System.Windows.Forms.Control() {Me.tbpColor, Me.tbpSize, Me.tbpMessage, Me.tbpAbout}) Me.tbcTextOptions.Location = New System.Drawing.Point(8, 8) Me.tbcTextOptions.Name = "tbcTextOptions" Me.tbcTextOptions.SelectedIndex = 0 Me.tbcTextOptions.Size = New System.Drawing.Size(280, 168) Me.tbcTextOptions.TabIndex = 0 " "tbpSize " Me.tbpSize.Controls.AddRange(New System.Windows.Forms.Control() {Me.radSize20, Me.radSize16, Me.radSize12}) Me.tbpSize.Location = New System.Drawing.Point(4, 22) Me.tbpSize.Name = "tbpSize" Me.tbpSize.TabIndex = 1 Me.tbpSize.Text = "Size" " "FrmTabs " Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13) Me.ClientSize = New System.Drawing.Size(292, 229) Me.Controls.AddRange(New System.Windows.Forms.Control() {Me.lblDisplay, Me.tbcTextOptions}) Me.Name = "FrmTabs" Me.Text = "Using Tabs" Me.tbpMessage.ResumeLayout(False) Me.tbpAbout.ResumeLayout(False) Me.tbpColor.ResumeLayout(False) Me.tbcTextOptions.ResumeLayout(False) Me.tbpSize.ResumeLayout(False) Me.ResumeLayout(False) End Sub
- End Region
" event handler for black color radio button Private Sub radBlack_CheckedChanged _ (ByVal sender As System.Object, ByVal e As System.EventArgs) _ Handles radBlack.CheckedChanged lblDisplay.ForeColor = Color.Black End Sub Private Sub radRed_CheckedChanged _ (ByVal sender As System.Object, ByVal e As System.EventArgs) _ Handles radRed.CheckedChanged lblDisplay.ForeColor = Color.Red End Sub Private Sub radGreen_CheckedChanged _ (ByVal sender As System.Object, ByVal e As System.EventArgs) _ Handles radGreen.CheckedChanged lblDisplay.ForeColor = Color.Green End Sub Private Sub radSize12_CheckedChanged( _ ByVal sender As System.Object, ByVal e As System.EventArgs) _ Handles radSize12.CheckedChanged lblDisplay.Font = New Font("Microsoft Sans Serif", 12) End Sub Private Sub radSize16_CheckedChanged _ (ByVal sender As System.Object, ByVal e As System.EventArgs) _ Handles radSize16.CheckedChanged lblDisplay.Font = New Font("Microsoft Sans Serif", 16) End Sub Private Sub radSize20_CheckedChanged _ (ByVal sender As System.Object, ByVal e As System.EventArgs) _ Handles radSize20.CheckedChanged lblDisplay.Font = New Font("Microsoft Sans Serif", 20) End Sub Private Sub radHello_CheckedChanged _ (ByVal sender As System.Object, ByVal e As System.EventArgs) _ Handles radHello.CheckedChanged lblDisplay.Text = "Microsoft Sans Serif" End Sub Private Sub radGoodbye_CheckedChanged _ (ByVal sender As System.Object, ByVal e As System.EventArgs) _ Handles radGoodbye.CheckedChanged lblDisplay.Text = "Font Size 20" End Sub
End Class</source>