发现学生们特别喜欢用TabControl控件,问过之后才知道,原来他们觉得这个控件看上去比较酷,难怪现在标签式浏览器这么受欢迎。既然喜欢,咱就投其所好,赶紧做了一点教学示例。
Sub TabControl1_SelectedIndexChanged(
ByVal sender
As System.Object,
ByVal e
As System.EventArgs)
Handles TabControl1.SelectedIndexChanged
lbMessage.Text = "当前显示的是第" & (TabControl1.SelectedIndex + 1) & "页"
End Sub
lbMessage.Text = "当前显示的是第" & (TabControl1.SelectedIndex + 1) & "页"
End Sub
Sub btAdd_Click()
Sub btAdd_Click(
ByVal sender
As System.Object,
ByVal e
As System.EventArgs)
Handles btAdd.Click
TabControl1.TabPages.Add( New TabPage( "新页"))
End Sub
TabControl1.TabPages.Add( New TabPage( "新页"))
End Sub
用编程的方式删除选中的页
Sub btDel_Click()
Sub btDel_Click(
ByVal sender
As System.Object,
ByVal e
As System.EventArgs)
Handles btDel.Click
TabControl1.TabPages.RemoveAt(TabControl1.SelectedIndex)
End Sub
TabControl1.TabPages.RemoveAt(TabControl1.SelectedIndex)
End Sub
向前移动某一页
Sub btLeft_Click()
Sub btLeft_Click(
ByVal sender
As System.Object,
ByVal e
As System.EventArgs)
Handles btLeft.Click
Dim selectedIndex As Integer = TabControl1.SelectedIndex
If (selectedIndex = 0) Then
Return '如果是第一页,就不需要向左移动了
Else
Dim selectedTab As TabPage = TabControl1.SelectedTab '暂存选中的TabPage
TabControl1.TabPages.Remove(selectedTab) '从现在的位置移除
TabControl1.TabPages.Insert(selectedIndex - 1, selectedTab) '添加到前一个位置(前面的那个TabPage会自动向后移动)
End If
End Sub
Dim selectedIndex As Integer = TabControl1.SelectedIndex
If (selectedIndex = 0) Then
Return '如果是第一页,就不需要向左移动了
Else
Dim selectedTab As TabPage = TabControl1.SelectedTab '暂存选中的TabPage
TabControl1.TabPages.Remove(selectedTab) '从现在的位置移除
TabControl1.TabPages.Insert(selectedIndex - 1, selectedTab) '添加到前一个位置(前面的那个TabPage会自动向后移动)
End If
End Sub
向后移动某一页
Sub btRight_Click()
Sub btRight_Click(
ByVal sender
As System.Object,
ByVal e
As System.EventArgs)
Handles btRight.Click
Dim selectedIndex As Integer = TabControl1.SelectedIndex
If (selectedIndex = TabControl1.TabPages.Count - 1) Then
Return '如果是最后一页,就不需要向右移动了
Else
'暂存选中的TabPage
Dim selectedTab As TabPage = TabControl1.SelectedTab
'从现在的位置移除(前面的那个TabPage会自动向前移动)
TabControl1.TabPages.Remove(selectedTab)
TabControl1.TabPages.Insert(selectedIndex + 1, selectedTab) '添加到后一个位置
End If
End Sub
Dim selectedIndex As Integer = TabControl1.SelectedIndex
If (selectedIndex = TabControl1.TabPages.Count - 1) Then
Return '如果是最后一页,就不需要向右移动了
Else
'暂存选中的TabPage
Dim selectedTab As TabPage = TabControl1.SelectedTab
'从现在的位置移除(前面的那个TabPage会自动向前移动)
TabControl1.TabPages.Remove(selectedTab)
TabControl1.TabPages.Insert(selectedIndex + 1, selectedTab) '添加到后一个位置
End If
End Sub
除了WindowsForm程序中的TabControl外,在其他组件中也可能碰到其它的TabControl,比如AJAX控件包中的TabControl,WPF中的WebControl等,都可以借鉴这一思路进行编程。
本文转自 王杰瑞 51CTO博客,原文链接:http://blog.51cto.com/wangjierui/107444,如需转载请自行联系原作者