天天看點

System.Windows.Forms.TabControl控件有關

發現學生們特别喜歡用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("新頁"))

用程式設計的方式删除選中的頁

Sub btDel_Click() Sub btDel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btDel.Click

        TabControl1.TabPages.RemoveAt(TabControl1.SelectedIndex)

向前移動某一頁

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

向後移動某一頁

Sub btRight_Click() Sub btRight_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btRight.Click

        If (selectedIndex = TabControl1.TabPages.Count - 1) Then

                Return '如果是最後一頁,就不需要向右移動了

'暫存選中的TabPage

                Dim selectedTab As TabPage = TabControl1.SelectedTab        

'從現在的位置移除(前面的那個TabPage會自動向前移動)

                TabControl1.TabPages.Remove(selectedTab) 

                TabControl1.TabPages.Insert(selectedIndex + 1, selectedTab) '添加到後一個位置

在移動Tab頁時,除了注意判斷移動邊界外,還要注意先保持要移動的Tab頁,先移除,後添加。這需要将該TabPage了解為按引用傳遞的對象。

除了WindowsForm程式中的TabControl外,在其他元件中也可能碰到其它的TabControl,比如AJAX控件包中的TabControl,WPF中的WebControl等,都可以借鑒這一思路進行程式設計。

本文轉自 王傑瑞 51CTO部落格,原文連結:http://blog.51cto.com/wangjierui/107444,如需轉載請自行聯系原作者