其實按鈕加上PictureBox做容器就是Tab,假如你不希望軟件運行時要求更多運行庫,那這是你最好的選擇,對按鈕樣式不滿意,也可以用PictureBox或Image替換自己圖片,要效果可以自己在Mouse...等事件里寫代碼。
10年積累的成都網(wǎng)站設計、成都網(wǎng)站建設、外貿網(wǎng)站建設經(jīng)驗,可以快速應對客戶對網(wǎng)站的新想法和需求。提供各種問題對應的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡服務。我雖然不認識你,你也不認識我。但先做網(wǎng)站設計后付款的網(wǎng)站建設流程,更有鄱陽免費網(wǎng)站建設讓你可以放心的選擇與我們合作。
建議使用類名來實現(xiàn),然后通過JS進行修改,例子如下(選中的選項卡背景顏色變?yōu)樗{色):
style
.tab{ width: 100px; height: 100px; background-color: red; }
.tab.active{ background-color: blue; }
/style
div class="tab active"選項卡1/div
div class="tab"選項卡1/div
script
var oTabs = document.querySeletorAll(".tab"), //獲取選項卡元素
oIndex = 0; //當前選中的索引
//循環(huán)注冊事件
for(var i = 0; i oTabs.length; i++){
oTabs.addEventListener("click", function(){
oTabs[oIndex].className = "tab"; //將上一個選中的元素取消樣式
this.className = "tab active"; //將當前選中的元素加上樣式
});
}
//jquery寫法
/* var $tabs = $(".tab");
$tabs.click(function(){
$(this).addClass("active").siblings().removeClass("active");
}); */
/script
需要引用Microsoft Windows Common Controls 6.0 (sp4)
然后添加選項卡控件
在選項卡控件的屬性中添加選項
然后單擊選項卡,按F1(你必須安裝了MSDN)
按照它上面的例子做
選項卡控件不是一個容器,得做幾個Frame或Picture把每一個選項里的控件“包”上。
以下為MSDN對選項卡控件的幫助:
TabStrip 控件就象筆記本的書簽或者一組文件夾的標簽一樣。通過使用 TabStrip 控件,可以在應用程序中為某個窗口或者對話框的相同區(qū)域定義多個頁面。
語法
TabStrip
說明
該控件由 Tabs 集合中的一個或者更多個 Tab 對象組成。在設計時和運行時,都可以通過設置該控件的屬性影響 Tab 對象外觀。也可以在設計時用 TabStrip 控件的屬性頁來添加或刪除選項卡,要是在運行時用方法來添加或刪除 Tab 對象。
Style 屬性決定了 TabStrip 控件看起來是象下壓按鈕還是象筆記本標簽 。在設計時將一個 TabStrip 控件放在某個窗體上時,它就有了一個筆記本標簽。如果 Style 屬性被設置為 tabTabs,那么 TabStrip 控件的內部區(qū)域周圍將有一個邊框。當 Style 屬性被設置為 tabButtons 時,控件的內部區(qū)域周圍不顯示邊框,不過,那個區(qū)域仍然存在。
要設置 TabStrip 控件的整體大小,用其拖動句柄或者設置其 Top、Left、Height 和 Width 屬性。運行時根據(jù)該控件的整體大小,Visual Basic 自動決定內部區(qū)域的大小和位置并返回 Client-coordinate 屬性— ClientLeft、ClientTop、ClientHeight 和 ClientWidth。MultiRow 屬性決定了該控件能否具有多于一行的選項卡,TabWidthStyle 屬性決定了每一行的外觀,還有,如果 TabWidthStyle 屬性被設置為 tabFixed,則可以用 TabFixedHeight 和 TabFixedWidth 屬性來給 TabStrip 控件中的所有選項卡設置相同的高度和寬度。
TabStrip 控件不是容器。要想包含實際頁面和它們的對象,必須用 Frame 控件或者其它容器,它們的大小必須與控件中所有 Tab 對象共享的內部區(qū)域匹配。如果針對該容器使用了一個控件數(shù)組,則可以使特定的 Tab 對象與數(shù)組中的每一項相關聯(lián),請看下例:
Option Explicit
Private mintCurFrame As Integer' Current Frame visible
Private Sub Tabstrip1_Click()
If Tabstrip1.SelectedItem.Index = mintCurFrame _
Then Exit Sub ' No need to change frame.
' Otherwise, hide old frame, show new.
Frame1(Tabstrip1.SelectedItem.Index).Visible = True
Frame1(mintCurFrame).Visible = False
' Set mintCurFrame to new value.
mintCurFrame = Tabstrip1.SelectedItem.Index
End Sub
注意 在容器上將控件分組時,必須使用上述顯示/隱藏策略,而不使用 Zorder Method 將框架帶到全面來。否則,實現(xiàn)訪問鍵(ALT + 訪問鍵)的控件將一直響應鍵盤命令,甚至當容器不是最頂端的控件時也如此。還要注意,必須將每個組放在它自己的容器中,以此將 OptionButton 控件的組分離開,否則,窗體上的所有 OptionButtons 將象一大組 OptionButtons。
提示 使用 BorderStyle 屬性為 None 的 Frame 控件作為容器來取代 PictureBox 控件。Frame 控件比起 PictureBox 控件來說所花費的開銷少。
TabStrip 控件的 Tabs 屬性是所有 Tab 對象的集合。每個 Tab 對象都具有與其當前狀態(tài)和外觀相關聯(lián)的屬性。例如,可以使 ImageList 控件與 TabStrip 控件相關聯(lián),然后就可以在單個選項卡上使用圖象了。也可以使工具提示與每個 Tab 對象相關聯(lián)。
發(fā)行注意 TabStrip 控件是一組自定義控件的一部分,這組自定義控件可以在文件 MSCOMCTL.OCX 中找到。為了在應用程序中使用 TabStrip 控件,必須將文件 MSCOMCTL.OCX 添加到工程中去。當發(fā)布應用程序時,要把文件 MSCOMCTL.OCX 安裝到用戶的 Microsoft Windows SYSTEM 目錄下。關于如何在工程中添加自定義控件的詳細信息,請參閱《程序員指南》。
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
TabControl1.TabPages.Add("aa") /添加一個選項卡
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
TabControl1.TabPages.RemoveAt(2) /刪除第二個的選項卡
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim i As Integer
Dim mytabpage As New TabPage
Dim bln As Boolean
For i = 0 To TabControl1.TabPages.Count - 1
If (TabControl1.TabPages(i).Text) = "選項卡名字" Then
bln = True
Exit For
Else
bln = False
End If
Next
If bln = False Then
mytabpage.Name = "tabpages" i
mytabpage.Text = "選項卡名字"
mytabpage.BackColor = Color.White
TabControl1.TabPages.Add(mytabpage)
End If
End Sub
是這樣的吧,不然還要把對應關系放進數(shù)組或者數(shù)據(jù)庫?控件再編號對應嗎。。。同求思路~