2014-02-06 3 views
2

나는 C#에서 학습자이며 약간의 의문이있다.탭 컨트롤에서 탭 페이지를 숨기는 방법

내 Windows 양식 페이지에서 tabControl에 3 개의 tabPages가 있습니다. 또한 tabControl 외부에있는 comboBox에 탭 페이지의 이름이 나열된 3 개의 항목이 있습니다.

내가하고 싶은 것은 comboBox에서 첫 번째 tabPage의 이름을 선택하고 다른 tabPage를 숨겨서 해당 tabPage 만 표시해야합니다.

가시성 속성은 tabPages에 적용 할 수 없습니다. 그럼 내가 어떻게 할 수 있니?

미리 감사드립니다.

답변

1
Hiding and Showing Tabpages in a Tabcontrol by Debasmit Samal에 따르면

:

가시성 속성이있는 TabControl에서 구현되지 않았으며, 도 더 삽입 방법이 없습니다. 이에 대한 해결 방법은 다음과 같습니다.

private void HideTabPage(TabPage tp) 
{ 
    if (tabControl1.TabPages.Contains(tp)) 
     tabControl1.TabPages.Remove(tp); 
} 


private void ShowTabPage(TabPage tp) 
{ 
    ShowTabPage(tp, tabControl1.TabPages.Count); 
} 


private void ShowTabPage(TabPage tp , int index) 
{ 
    if (tabControl1.TabPages.Contains(tp)) return; 
    InsertTabPage(tp, index); 
} 


private void InsertTabPage(TabPage tabpage, int index) 
{ 
    if (index < 0 || index > tabControl1.TabCount) 
     throw new ArgumentException("Index out of Range."); 
    tabControl1.TabPages.Add(tabpage); 
    if (index < tabControl1.TabCount - 1) 
     do 
     { 
      SwapTabPages(tabpage, (tabControl1.TabPages[tabControl1.TabPages.IndexOf(tabpage) - 1])); 
     } 
     while (tabControl1.TabPages.IndexOf(tabpage) != index); 
    tabControl1.SelectedTab = tabpage; 
} 


private void SwapTabPages(TabPage tp1, TabPage tp2) 
{ 
    if (tabControl1.TabPages.Contains(tp1) == false || tabControl1.TabPages.Contains(tp2) == false) 
     throw new ArgumentException("TabPages must be in the TabControls TabPageCollection."); 

    int Index1 = tabControl1.TabPages.IndexOf(tp1); 
    int Index2 = tabControl1.TabPages.IndexOf(tp2); 
    tabControl1.TabPages[Index1] = tp2; 
    tabControl1.TabPages[Index2] = tp1; 

    //Uncomment the following section to overcome bugs in the Compact Framework 
    //tabControl1.SelectedIndex = tabControl1.SelectedIndex; 
    //string tp1Text, tp2Text; 
    //tp1Text = tp1.Text; 
    //tp2Text = tp2.Text; 
    //tp1.Text=tp2Text; 
    //tp2.Text=tp1Text; 

} 
관련 문제