C# 如何在运行时生成的选项卡中添加控件
我正在使用一个选项卡控件,并在其中插入了一个列表视图。 现在我想在运行程序时生成选项卡,每个选项卡都应该包含这个listview 我试着这样做: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
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();
}