快速业务通道

领先技术: 子类化和重写ASP.NET页面 - 第II部分

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-05-19

发现学生们特别喜欢用TabControl控件,问过之后才知道,原来他们觉得这个控件看上去比较酷,难怪现在标签式浏览器这么受欢迎。既然喜欢,咱就投其所好,赶紧做了一点教学示例。

这里演示了TabControl的常用事件:SelectedIndexChanged

Sub TabControl1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TabControl1.SelectedIndexChanged
        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

用编程的方式删除选中的页

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

向前移动某一页

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

向后移动某一页

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

在移动Tab页时,除了注意判断移动边界外,还要注意先保持要移动的Tab页,先移除,后添加。这需要将该TabPage理解为按引用传递的对象。

除了WindowsForm程序中的TabControl外,在其他组件中也可能碰到其它的TabControl,比如AJAX控件包中的TabControl,WPF中的WebControl等,都可以借鉴这一思路进行编程。

本文出自 “王杰瑞的技术博客” 博客,请务必保留此出处http://wangjierui.blog.51cto.com/186879/107444

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号