2012-05-10 26 views
7

Cách dễ nhất để tìm tab nào đang bật. Tôi muốn hiển thị một số dữ liệu khi tôi nhấp vào tabpage2 hoặc một số tabpage khác. Tôi đã làm điều đó như thế này nhưng không phải là giải pháp tốt:Cách tìm trang tab (TabControl) nào là trên

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

và để hiển thị dữ liệu:

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

Có giải pháp nào khác ví dụ như thế này?

Trả lời

10

Sử dụng

tabControl1.SelectedIndex; 

này sẽ cung cấp cho bạn chỉ số tab chọn mà sẽ bắt đầu từ 0 và đi đến 1 ít thì tổng số các tab của bạn

Sử dụng nó như thế này

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

Trước khi chỉnh sửa và giải pháp này được chấp nhận đối với tôi, cảm ơn bạn đã trả lời – JanOlMajti

3

Đơn giản chỉ cần sử dụng tabControl1.SelectedIndex:

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

Heh thực sự đơn giản :) cảm ơn – JanOlMajti

2

Đây là cách tiếp cận tốt hơn nhiều.

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

Bằng cách này mỗi khi tabindex được thay đổi, CurrentTabPage bắt buộc của chúng tôi sẽ tự động cập nhật.

Các vấn đề liên quan