簡體   English   中英

如何測試在VB.net TabControl中選擇了哪個選項卡

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM