2012-05-10 24 views
7

¿Cuál es la forma más fácil de encontrar qué pestaña está activada? Quiero mostrar algunos datos cuando hago clic en tabpage2 o en algún otro tabpage. Lo hice así, pero no es buena solución:Cómo encontrar qué página de pestaña (TabControl) está en

private int findTabPage { get; set; } 
    private void tabControl1_SelectedIndexChanged(object sender, EventArgs e) 
    { 
     if (tabControl1.SelectedTab == tabPage1) 
      findTabPage = 1; 
     if (tabControl1.SelectedTab == tabPage2) 
      findTabPage = 2; 
    } 

y para la visualización de los datos:

if (findTabPage == 1) 
    { some code here } 
if (findTabPage == 2) 
    { some code here } 

¿Hay alguna otra solución, por ejemplo, de esta manera?

Respuesta

10

Uso

tabControl1.SelectedIndex; 

esto le dará seleccionada índice de tabulación que comenzará a partir de 0 e ir hasta el 1 menor que el recuento total de las pestañas

Úselo así

private void tabControl1_SelectedIndexChanged(object sender, EventArgs e) 
{ 
    switch(tabControl1.SelectedIndex) 
    { 
     case 0: 
      { some code here } 
      break; 
     case 1: 
      { some code here } 
      break; 
    } 
} 
+0

Antes de la edición y esta solución son aceptables para mí, gracias por su respuesta – JanOlMajti

3

simplemente usar tabControl1.SelectedIndex:

if (tabControl1.SelectedIndex == 0) 
    { some code here } 
if (tabControl1.SelectedIndex == 1) 
    { some code here } 
+0

Heh eso es realmente simple :) gracias – JanOlMajti

2

Este es un enfoque mucho mejor.

private int CurrentTabPage { get; set; } 
    private void tabControl1_SelectedIndexChanged(object sender, EventArgs e) 
    { 
     CurrentTabPage = tabControl1.SelectedIndex; 
    } 

De esta manera cada vez que se cambia el índice de tabulación, nuestra CurrentTabPage requerida sería actualizada automáticamente.

Cuestiones relacionadas