2009-09-24 3 views

ответ

1

Предполагая, что это приложение WPF, убедитесь, что каждый TabItem имеет имя.

Тогда это всего лишь вопрос проверки.

if tabItem1.IsSelected = true then 
    ' Do Something 
else if tabItem2.IsSelected = true then 
    ' Do Something 
end if 
+1

Да, это то, как я выяснить, как это сделать, но там нет ни одного члена называется IsSelected или Selected , Я думаю, вы должны использовать SelectedTab, вроде бы уродливый, но он работает. –

+1

сделать немного больше lokoing в это, очевидно, IsSelected доступен только для класса WPI TabItem. WinForms не поддерживает свойство IsSelected. –

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
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 
+0

Работал для меня, чтобы контролировать событие закрытой формы! – fedeteka

0

Можно также сделать следующее:

Dim TabName As String 

TabName = YourTabControl.SelectedTab.Name 

If TabName.Contains("YourTabName") Then 
    ' Do something 
End If 
8

использовать что вкладка «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 
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 

Вы можете использовать, если ELSEIF другое заявление, хотя.

этот поиск работает для меня.

1

Попробуйте установить пропежут «TAG» для каждой отдельной вкладки, используя редактор коллекций TabPages. Установите для каждого тега число, представляющее последовательность 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 
0
TabControl1_Click: 
    If TabControl1.SelectedIndex = 0 Then 
     ' Do Something  
    ElseIf TabControl1.SelectedIndex = 1 Then 
     ' Do Something 
    End If 
End Sub 
+2

Привет, и добро пожаловать в переполнение стека! Похоже на отличный ответ, и, надеюсь, он прекрасно справляется с проблемой OPs (я не знаю, я не программист VB) ... Я просто подумал, что должен сказать, что часто лучше расширить свой ответ и объяснить, как/почему он решает проблему. Мы получаем много новичков - или таких людей, как я, которые отлично разбираются в программировании, но не на этом языке ... и небольшое объяснение может помочь нам лучше понять ваш фрагмент кода и узнать что-то от вас. –

Смежные вопросы