我有一个带有两个TabPages的TabControl,我想知道测试当前显示哪个选项卡的最佳方法是什么?我不知道为什么我不能解决这个......
答案 0 :(得分:20)
答案 1 :(得分:9)
使用该标签的“输入事件” 例如
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
答案 2 :(得分:5)
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
答案 3 :(得分:4)
TabControl.SelectedTab.
这是the link。
答案 4 :(得分:2)
如果你使用.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
答案 5 :(得分:1)
假设这是一个WPF应用程序,请确保每个TabItem都有一个名称。
然后这只是检查的问题。
if tabItem1.IsSelected = true then
' Do Something
else if tabItem2.IsSelected = true then
' Do Something
end if
答案 6 :(得分:1)
尝试使用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
答案 7 :(得分:1)
我有一个名为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
答案 8 :(得分:0)
还可以执行以下操作:
Dim TabName As String
TabName = YourTabControl.SelectedTab.Name
If TabName.Contains("YourTabName") Then
' Do something
End If
答案 9 :(得分:0)
试试这个..
这是如何在选中时修改每个选项卡 然后会有每个标签的功能
一级评分|二级评分|
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语句。
这个发现适合我。
答案 10 :(得分:0)
TabControl1_Click:
If TabControl1.SelectedIndex = 0 Then
' Do Something
ElseIf TabControl1.SelectedIndex = 1 Then
' Do Something
End If
End Sub
答案 11 :(得分:0)
此代码将显示当前选定的标签页名称
Private Sub Tab_new1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles Tab_new1.SelectedIndexChanged
MsgBox(Tab_new1.SelectedTab.Name)
End Sub