protected override void OnLoad(EventArgs e) {
foreach(TabPage tab in mainTabControl.TabPages) {
m_tabs.Add(tab);
}
}
private void HideTab(int index) {
mainTabControl.TabPages.RemoveAt(index);
}
private void ShowTab(int tabIndex, int position) {
mainTabControl.TabPages.Insert(position, m_tabs[tabIndex]);
}
// additional code
}
N.B. You'll have to keep your indices straight between the List<TabPage> and TabControl.TabPages. You may want to consider manipulating the tabs by tab name and keeping them in a Dictionary<string,TabPage> instead.
Public Class MainForm
Inherits Form
Private Sub HideTab(ByVal index As Integer)
mainTabControl.TabPages.RemoveAt(index)
End Sub Protected Overrides Sub OnLoad(ByVal e As EventArgs)
For Each tab As TabPage In mainTabControl.TabPages
m_tabs.Add(tab)
Next
End Sub
Private Sub ShowTab(ByVal tabIndex As Integer, ByVal position As Integer)
mainTabControl.TabPages.Insert(position, m_tabs(tabIndex))
End Sub
Private m_tabs As List(Of TabPage) = New List(Of TabPage)
' additional code
End Class