先创建若干个TabStrip的选项
然后创建一个Frame控件数组,个数与TabStrip选项卡个数相等
注意设置Frame控件数组的索引值(index属性)从1开始(默认为从0开始),以便和TabStrip选项的索引值对应
然后编写以下代码:
Private Sub Form_Load()
For i = 1 To TabStrip1.Tabs.Count
Frame1(i).Width = TabStrip1.ClientWidth 'tab内部宽度
Frame1(i).Height = TabStrip1.ClientHeight 'tab内部高度
Frame1(i).Left = TabStrip1.ClientLeft 'tab内部左间距
Frame1(i).Top = TabStrip1.ClientTop 'tab内部顶部间距
Next i
For i = 2 To TabStrip1.Tabs.Count
Frame1(i).Visible = False '除了第一个选项对应的Frame,其他的都隐藏
Next i
End Sub
Private Sub Tabstrip1_Click()
For i = 1 To TabStrip1.Tabs.Count
If TabStrip1.SelectedItem.Index = i Then
Frame1(i).Tag = "dq"
End If
If Frame1(i).Tag = "dq" Then
Frame1(i).Visible = True
Else
Frame1(i).Visible = False
End If
Frame1(i).Tag = Empty
Next i
End Sub
代码说明:
Form_Load事件中 代码的作用:
1、初始化各个Frame控件的大小与位置(在设计时可以随便放置位置与大小)。
2、程序运行后,TabStrip默认显示第一个选项卡,所以将其它的选项卡对应的Frame先设置为不可见。
Tabstrip1_Click事件 中代码的作用:
程序运行后,单击哪一个选项卡,那么该选项卡对用的Frame设置为可见。
实现方法解释:
1、通过TabStrip的选项卡Index属性与Frame的Index属性来匹配,当单击TabStrip对应选项卡时,将对应Frame的Tag属性设置为一个值(代码中用的是dq,此值可以任意指定)
2、将Frame的Tag属性为dq的控件设置为可见,其它则不可见
3、将所有Frame的Tag属性还原为默认的空值,以便用于下一次单击TabStrip选项卡。
附加说明:
1、因为Frame是容器控件,所以要注意Frame是相互独立的,不存在包含关系,如果将一个Frame置于另外一个Frame中,则不能正常显示。
2、使用BorderStyle属性设置为0-None的Frame控件作为容器比使用PictureBox控件要节省资源。