2012-10-16 39 views
0

我使用AjaxControlToolkit TabContainer並動態設置TabPanel可見性。當活動標籤被隱藏(動態)整個選項卡控件是隱藏的,所以爲了避免這樣的(設置第一個可見標籤作爲活動標籤)這個我已經寫了小法通過可見性動態設置TabContainer Active選項卡

private void SetActiveTab() 
{ 
    if (tabControl1.Tabs[0].Visible) 
    { 
     tabControl1.ActiveTabIndex =0; 
     return; 
    } 

    if (tabControl1.Tabs[1].Visible) 
    { 
     tabControl1.ActiveTabIndex = 1; 
     return; 
    } 

    ... 

} 

但是,這感覺就像是低效的,但/醜陋的代碼對我來說,是否有更好的方式來做到這一點...?

回答

1

選擇任何

for (int tabIndex = 0; tabIndex < TabContainer1.Tabs.Count; tabIndex++) 
{ 
    if(TabContainer1.Tabs[tabIndex].Visible) 
    { 
     TabContainer1.ActiveTabIndex = tabIndex; 
     break; 
    } 
} 

foreach (TabPanel tab in TabContainer1.Tabs) 
{ 
    if (tab.Visible) 
    { 
     TabContainer1.ActiveTab = tab; 
     break; 
    } 
} 

var firstVisibleTab = TabContainer1.Tabs.OfType<TabPanel>().FirstOrDefault(tab => tab.Visible); 
if (firstVisibleTab != null) 
{ 
    TabContainer1.ActiveTab = firstVisibleTab; 
} 

BTW這樣quetions更好的利用代碼審查網站:Code Review

+0

非常感謝你... – Nalaka526

+0

這不是在FireFox工作:( –

相關問題