C# 如何在运行时生成的选项卡中添加控件

C# 如何在运行时生成的选项卡中添加控件,c#,winforms,C#,Winforms,我正在使用一个选项卡控件,并在其中插入了一个列表视图。 现在我想在运行程序时生成选项卡,每个选项卡都应该包含这个listview 我试着这样做: public void FillTabControls(TabControl tb, string sSQL, string sTable, string sFirstItem) { long totalRow = 0; //Set the Data Adapter OleDbDataAdapter da = new OleDb

我正在使用一个选项卡控件,并在其中插入了一个列表视图。 现在我想在运行程序时生成选项卡,每个选项卡都应该包含这个listview

我试着这样做:

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;
}
public void FillTabControls(TabControl tb、string sSQL、string sTable、string sFirstItem)
{
长总计行=0;
//设置数据适配器
OleDbDataAdapter da=新的OleDbDataAdapter(sSQL,CN);
数据集ds=新数据集();
da.填充(ds,稳定);
totalRow=ds.Tables[sTable].Rows.Count-1;
tb.TabPages.Clear();
如果(sFirstItem!=“”)tb.TabPages.Add(new TabPage(sFirstItem));
对于(int i=0;i 0)
tb.SelectedIndex=0;
}

但是我没有这个想法,我想标签页正在增加。但是我看不到您在哪里添加列表视图。我猜是因为这个原因,你无法从视觉上识别它

还设置要添加到for循环中的选项卡页的大小或停靠

private IEnumerable GetTabPages(字符串sSQL、字符串sTable、字符串sFirstItem)
    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();
    }
{ //在此处生成选项卡 } 私有void Init(TabControl tb、string sSQL、string sTable、string sFirstItem) { tb.SuspendLayout(); foreach(GetTabPages中的TabPage TabPage(sSQL、sTable、sFirstItem)) { tb.Controls.Add(选项卡页); } tb.ResumeLayout(); }