Here is some code I have that does that.
I have four checkboxs across the top (appearance properties = Button). When
you check/depress the button, it shows corresponding Tabpage. When no
buttons are pressed, TabControl is hidden:
Good luck,
Greg
' class level variables
Private _tabs(3) As TabPage
' the names of my 4 tabs...
Enum TabNames
Changes
Transfer
Leave
Term
End Enum
Public Sub New()
MyBase.New()
'This call is required by the Windows Form Designer.
InitializeCompo nent()
'Add any initialization after the InitializeCompo nent() call
TabControl1.Tab Pages.Clear()
TabControl1.Vis ible = False ' hide by default
End Sub
Private Sub CheckBox1_Check edChanged(ByVal sender As System.Object, ByVal e
As System.EventArg s) Handles CheckBox1.Check edChanged
ShowHideTab(Tab Names.Changes)
' light the button up when pressed...
If CheckBox1.Check State = CheckState.Chec ked Then
CheckBox1.ForeC olor = Color.White
CheckBox1.BackC olor = Color.Green
CheckBox1.Font = New Font(Me.Font.Na me, Me.Font.Size,
FontStyle.Bold)
Else
CheckBox1.ForeC olor = SystemColors.Co ntrolText
CheckBox1.BackC olor = SystemColors.Co ntrol
CheckBox1.Font = Nothing
End If
End Sub
Private Sub CheckBox2_Check edChanged(ByVal sender As System.Object,
ByVal e As System.EventArg s) Handles CheckBox2.Check edChanged
ShowHideTab(Tab Names.Transfer)
If CheckBox2.Check State = CheckState.Chec ked Then
CheckBox2.ForeC olor = Color.White
CheckBox2.BackC olor = Color.Green
CheckBox2.Font = New Font(Me.Font.Na me, Me.Font.Size,
FontStyle.Bold)
Else
CheckBox2.ForeC olor = SystemColors.Co ntrolText
CheckBox2.BackC olor = SystemColors.Co ntrol
CheckBox2.Font = Nothing
End If
End Sub
Private Sub CheckBox3_Check edChanged(ByVal sender As System.Object,
ByVal e As System.EventArg s) Handles CheckBox3.Check edChanged
ShowHideTab(Tab Names.Leave)
If CheckBox3.Check State = CheckState.Chec ked Then
CheckBox3.ForeC olor = Color.White
CheckBox3.BackC olor = Color.Green
CheckBox3.Font = New Font(Me.Font.Na me, Me.Font.Size,
FontStyle.Bold)
Else
CheckBox3.ForeC olor = SystemColors.Co ntrolText
CheckBox3.BackC olor = SystemColors.Co ntrol
CheckBox3.Font = Nothing
End If
End Sub
Private Sub CheckBox4_Check edChanged(ByVal sender As System.Object,
ByVal e As System.EventArg s) Handles CheckBox4.Check edChanged
ShowHideTab(Tab Names.Term)
If CheckBox4.Check State = CheckState.Chec ked Then
CheckBox4.ForeC olor = Color.White
CheckBox4.BackC olor = Color.Green
CheckBox4.Font = New Font(Me.Font.Na me, Me.Font.Size,
FontStyle.Bold)
Else
CheckBox4.ForeC olor = SystemColors.Co ntrolText
CheckBox4.BackC olor = SystemColors.Co ntrol
CheckBox4.Font = Nothing
End If
End Sub
Private Sub ShowHideTab(ByV al i As TabNames)
If _tabs(i) Is Nothing Then
Me.Cursor = Cursors.WaitCur sor
TabControl1.Vis ible = True
Select Case i
Case TabNames.Change s
_tabs(TabNames. Changes) = TabPage1
SortTabPages(Ta bPage1)
Case TabNames.Transf er
_tabs(TabNames. Transfer) = TabPage2
SortTabPages(Ta bPage2)
Case TabNames.Leave
_tabs(TabNames. Leave) = TabPage3
SortTabPages(Ta bPage3)
Case TabNames.Term
_tabs(TabNames. Term) = TabPage4
SortTabPages(Ta bPage4)
End Select
Me.Cursor = Cursors.Default
Else
_tabs(i) = Nothing
Select Case i
Case TabNames.Change s
TabControl1.Tab Pages.Remove(Ta bPage1)
Case TabNames.Transf er
TabControl1.Tab Pages.Remove(Ta bPage2)
Case TabNames.Leave
TabControl1.Tab Pages.Remove(Ta bPage3)
Case TabNames.Term
TabControl1.Tab Pages.Remove(Ta bPage4)
End Select
If TabControl1.Tab Count = 0 Then
TabControl1.Vis ible = False
End If
End If
End Sub
Private Sub SortTabPages(By Val currentTab As TabPage)
' To reorder the tabs, clear the collection and add them again
TabControl1.Tab Pages.Clear()
For Each tab As TabPage In _tabs
If Not tab Is Nothing Then
TabControl1.Tab Pages.Add(tab)
End If
Next
TabControl1.Sel ectedTab = currentTab
End Sub
"Richard" <ri*****@home.c om> wrote in message
news:uh******** ******@TK2MSFTN GP10.phx.gbl...
Hi,
Simple tabcontrol question:
I have a tab control with a number of tabpages on it. What I want is to
show a particular tabpage when I click a button that is not on the
tabcontrol. Can anyone tell me how I would code this?
Thanks
Richard