以编程方式添加的控件在添加到选项卡页面时未显示

时间:2013-11-18 15:53:09

标签: c# winforms tabs controls

到目前为止,我一直只是向this.controls显示我以编程方式创建的控件,但现在我想为大型数据集添加Tab键功能。我添加了一个选项卡控件,在代码中我将程序控件添加到tabpage但我无法显示控件...帮助我需要做什么让控件显示

现在我拥有的是

private void Form1_Load(object sender, EventArgs e)
{
    panel = new Panel();
    panel.Location = position;
    panel.BorderStyle = BorderStyle.Fixed3D;
    panel.Width = 240;
    panel.Height = 210;

    company = new Label();
    company.Location = new Point(panel.Location.X + 10, panel.Location.Y + 10);
    company.Text = tempServer.Value.companyName;
    company.Font = new Font(company.Font.FontFamily, 12, FontStyle.Bold);

    tabs.TabPages["1"].Controls.Add(company);
    this.Controls.Add(tabs);
    this.Controls.SetChildIndex(tabs, this.Controls.Count);
}

编辑(帮助澄清) 我有一个应用程序从数据库中读取数据库中每个元组的数据库,我的WinForm应用程序创建一个新的面板,然后用动态创建的标签填充各种信息。然后偏移该位置并创建下一个面板。我被告知我现在需要我的应用程序支持选项卡。每个标签只显示这么多面板。当我试图将这些动态创建的面板添加到选项卡控件而不是this.control时,我的问题得到了解决。当我这样做时,面板和他们的信息不再被绘制,我无法弄清楚如何使面板显示

1 个答案:

答案 0 :(得分:0)

你没有为你的标签设置Text所以你没有看到任何东西,试试这个:

company = new Label(){Text = "some text here"};

整个代码:

private void Form1_Load(object sender, EventArgs e) {
  company = new Label{Text = "some text here"};
  tabs.TabPages["1"].Controls.Add(company);
  this.Controls.Add(tabs);    
}