2012-08-04 3 views
0

탭 컨트롤을 사용하고 그 안에 목록 뷰를 삽입했습니다. 이제 프로그램을 실행하는 동안 탭을 생성하고 각 탭에이 목록보기가 있어야합니다.런타임에 생성 된 탭에 컨트롤을 추가하는 방법

public void FillTabControls(TabControl tb, string sSQL, string sTable, string sFirstItem) 
{ 
    long totalRow = 0; 
    //Set the Data Adapter 
    OleDbDataAdapter da = new OleDbDataAdapter(sSQL, CN); 
    DataSet ds = new DataSet(); 
    da.Fill(ds, sTable); 

    totalRow = ds.Tables[sTable].Rows.Count - 1; 

    tb.TabPages.Clear(); 
    if (sFirstItem != "") tb.TabPages.Add(new TabPage(sFirstItem)); 
    for (int i = 0; i <= totalRow; i++) 
     tb.TabPages.Add(new TabPage("" + ds.Tables[sTable].Rows[i].ItemArray.GetValue(0).ToString())); 
    if (tb.TabPages.Count > 0) 
     tb.SelectedIndex = 0; 
} 

을하지만이

답변

0

내가 탭 페이지가 추가지고 생각 할 수있는 아이디어를 얻고 있지 않다 :

나는이 같은 시도했다. 그러나 나는 당신이 목록보기를 추가하는 곳을 보지 못했다. 나는 당신이 그것을 시각적으로 인식 할 수 없기 때문에 나는 추측한다.

또한 크기 또는 탭 페이지를 독 for 루프 내부에 첨가되는 설정

0
private IEnumerable<TabPage> GetTabPages(string sSQL, string sTable, string sFirstItem) 
    { 
     // generate your tabs here 
    } 

    private void Init(TabControl tb, string sSQL, string sTable, string sFirstItem) 
    { 
     tb.SuspendLayout(); 

     foreach (TabPage tabPage in GetTabPages(sSQL, sTable, sFirstItem)) 
     { 
      tb.Controls.Add(tabPage); 
     } 

     tb.ResumeLayout(); 
    } 
관련 문제