tagにタブ情報を保持するので、この関数以外なにも無くても表示非表示を切り替えられる。
tagを他の用途に使っていると利用不可能。
作ったはいいが、ちょっとこれどうよってほどコードが見にくくなってしまって微妙。
Private Sub SetTabVisible(ByVal oTabControl As TabControl, ByVal nIndex As Integer, ByVal bVisible As Boolean) Dim oAllTabPages As List(Of KeyValuePair(Of TabPage, Boolean)) ' If oTabControl.Tag Is Nothing Then ' 全タブと、その表示状態を保持 oAllTabPages = New List(Of KeyValuePair(Of TabPage, Boolean)) For Each oTabPage As TabPage In TabControl1.TabPages Dim oTabAndVisible As New KeyValuePair(Of TabPage, Boolean)(oTabPage, True) oAllTabPages.Add(oTabAndVisible) Next oTabControl.Tag = oAllTabPages Else ' 全タブと、その表示状態を取得 oAllTabPages = CType(oTabControl.Tag, List(Of KeyValuePair(Of TabPage, Boolean))) End If ' タブの表示状態を設定 oAllTabPages(nIndex) = New KeyValuePair(Of TabPage, Boolean)(oAllTabPages(nIndex).Key, bVisible) oTabControl.TabPages.Clear() For Each oTabAndVisible As KeyValuePair(Of TabPage, Boolean) In oAllTabPages If oTabAndVisible.Value = True Then oTabControl.TabPages.Add(oTabAndVisible.Key) End If Next End Sub