2009-09-24 35 views

Respuesta

1

Asumiendo que esto es una aplicación de WPF, asegúrese de que cada uno tiene un nombre TabItem.

Luego, solo es cuestión de comprobar.

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

Sí, así es como yo era averiguar cómo hacerlo, pero no hay miembros llamados IsSelected o seleccionados , Supongo que debes usar SelectedTab, algo feo, pero funciona. –

+1

haciendo un poco más de lokoing en esto, al parecer el IsSelected solo está disponible para la clase WPF TabItem. WinForms uno no es compatible con la propiedad IsSelected. –

2

Si utiliza .Net 3.5, puede crear un método IsSelected como un método de extensión si lo desea:

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

¡Ha trabajado para que yo pueda controlar el evento de formulario cerrado! – fedeteka

0

también puede hacer lo siguiente:

Dim TabName As String 

TabName = YourTabControl.SelectedTab.Name 

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

uso que se pestaña "ENTER EVENT" por ej.

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

intenta esto ..

esta es la manera de modificar cada una de la pestaña cuando se selecciona entonces habrá una función de cada pestaña

del primer establecimiento de | Segunda Clasificación |

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 

que puede utilizar si elseif else sin embargo.

este hallazgo funciona para mí.

1

Intente establecer la propiedad "TAG" para cada pestaña individual utilizando el editor de colecciones TabPages. Ajuste cada etiqueta a un número que representa la secuencia de tabulación (a partir de 1 o 0 o lo que sea para adaptarse a)

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

Hola y bienvenidos al desbordamiento de pila. Parece una gran respuesta y con suerte resuelve el problema de los OPs muy bien (no sé, no soy un programador de VB) ... Solo pensé que debería decir que a menudo es mejor expandir tu respuesta y explicar cómo/por qué soluciona el problema Tenemos muchos novatos, o personas como yo, que son excelentes para la programación, pero no en este idioma ... y un poco de explicación puede ayudarnos a comprender mejor su fragmento de código, y aprender algo de usted. –

Cuestiones relacionadas