[英]How to test which tab is selected in VB.net TabControl
我有一個帶有兩個 TabPage 的 TabControl,我想知道測試當前顯示哪個選項卡的最佳方法是什么? 我不知道為什么我無法弄清楚這一點......
使用該選項卡的“輸入事件”,例如。
Private Sub TabName_Enter(ByVal sender As Object, ByVal e As System.EventArgs) Handles TabName.Enter
MsgBox("me the tab selected")
'or do whattever u like
End Sub
Private Sub TabControl_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TabControl.SelectedIndexChanged
If TabControl.SelectedTab Is tabMyTab Then
' do whatever...
End If
End Sub
TabControl.SelectedTab.
這是鏈接。
如果您使用 .Net 3.5,您可以根據需要創建一個 IsSelected 方法作為擴展方法:
Public Module TabControlExtensions
<Extension()> _
Public Function IsSelected(ByVal tabPage As TabPage) As Boolean
Dim tabControl = CType(tabPage.Parent, TabControl)
Return (tabControl.SelectedTab Is tabPage)
End Function
End Module
假設這是一個 WPF 應用程序,請確保每個 TabItem 都有一個名稱。
那么這只是一個檢查的問題。
if tabItem1.IsSelected = true then
' Do Something
else if tabItem2.IsSelected = true then
' Do Something
end if
試試這個..
這是如何在選中時修改每個選項卡然后每個選項卡都有一個功能
一級 |二級 |
Private Sub TabControlAction(ByVal sender As Object, ByVal e As System.EventArgs) Handles nameoftab.Click
If nameoftab.SelectedTab.Text = "Second Grading" Then
Msgbox("Second Grading is Selected")
''Place whatever your want
Else
Msgbox("First Grading is Selected")
''Place whatever your want
End If
End Sub
您可以使用 if elseif else 語句。
這個發現對我有用。
嘗試使用 TabPages 集合編輯器為每個單獨的選項卡設置“TAG”屬性。 將每個標簽設置為代表 Tab 序列的數字(從 1 或 0 或任何適合的數字開始)
Private Sub TabControl1_Click(sender As Object, e As System.EventArgs) Handles TabControl1.Click
Dim ActiveTabNumber as Integer = TabControl1.SelectedTab.Tag
End Sub
TabControl1_Click:
If TabControl1.SelectedIndex = 0 Then
' Do Something
ElseIf TabControl1.SelectedIndex = 1 Then
' Do Something
End If
End Sub
我有一個名為 tcMode 的 TabControl,其成員/項目名為 tcmRelease 和 tcmSwitch,以下對我來說效果很好,能夠移動標簽/重命名而無需擔心;
If tcMode.SelectedTab Is tcmRelease Then
'Do Something if first tab selected
ElseIf tcMode.SelectedTab Is tcmSwitch Then
'Do something if second tab selected
End If
還可以執行以下操作:
Dim TabName As String
TabName = YourTabControl.SelectedTab.Name
If TabName.Contains("YourTabName") Then
' Do something
End If
此代碼將顯示當前選定的選項卡名稱
Private Sub Tab_new1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles Tab_new1.SelectedIndexChanged
MsgBox(Tab_new1.SelectedTab.Name)
End Sub
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.