2012-10-16 4 views
0

저는 AjaxControlToolkit TabContainer을 사용하고 있습니다. TabPanel visiblility를 동적으로 설정하고 있습니다. 활성 탭 (동적) 숨겨진되면 전체 탭 컨트롤은 그래서 이것은 (활성 탭으로 설정 먼저 눈에 보이는 탭) 등이 내가 쓴 작은 방법TabContainer를 가시성에 따라 동적으로 설정하기

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

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

    ... 

} 

을 방지하기 위해, 숨겨진하지만이 같은 있지만 비효율적 인 느낌/나를 위해 추한 코드 ...,이 일을 더 나은 방법이 있습니까?

답변

1

선택 어떤

더 나은 같은 quetions에 대한 BTW
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; 
} 

코드 검토 사이트 사용 Code Review

+0

파이어 폭스에서이 작동하지 않습니다 – Nalaka526

+0

... 진심으로 감사를 :( –

관련 문제