Как проверить, какая вкладка выбрана в VB.net TabControl
У меня есть TabControl с двумя страницами табуляции, и мне было интересно, какой лучший способ проверить, какая вкладка отображается в настоящее время? Не знаю, почему я не могу разобраться в этом...
10 ответов
используйте эту вкладку " ENTER EVENT " например.
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
Если вы используете .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
попробуйте установить" тег " propety для каждой отдельной вкладки с помощью редактора коллекции TabPages. Установите каждый тег на число, представляющее последовательность вкладок (начиная с 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
можно также сделать следующее:
Dim TabName As String
TabName = YourTabControl.SelectedTab.Name
If TabName.Contains("YourTabName") 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.
эта работа для меня.
TabControl1_Click:
If TabControl1.SelectedIndex = 0 Then
' Do Something
ElseIf TabControl1.SelectedIndex = 1 Then
' Do Something
End If
End Sub