2012-05-10 14 views
7

Jaki jest najłatwiejszy sposób na sprawdzenie, która karta jest włączona. Chcę pokazać niektóre dane po kliknięciu na stronie zakładki2 lub innej karcie. Zrobiłem to tak, ale nie jest to dobre rozwiązanie:Jak znaleźć stronę zakładki (TabControl) na

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; 
    } 

i wyświetlania danych:

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

Czy istnieje inne rozwiązanie, na przykład jak to?

Odpowiedz

10

Zastosowanie

tabControl1.SelectedIndex; 

To daje wybrany indeks kartę, która rozpocznie się od 0 i przejść do 1 mniej niż w ogólnej liczbie swoich kartach

Użyj tego w następujący sposób:

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

Przed edycją i to rozwiązanie jest dla mnie do zaakceptowania, dziękuję za odpowiedź – JanOlMajti

3

Wystarczy użyć tabControl1.SelectedIndex:

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

Heh to naprawdę po prostu :) dzięki – JanOlMajti

2

To znacznie lepsze podejście.

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

W ten sposób za każdym razem, gdy zmienia się tabindex nasza wymagane CurrentTabPage będzie automatycznie aktualizowana.

Powiązane problemy