2

我有TabControl一个包含一个TabPage,并且其他 TabPages 是在事件中动态添加的。

First TabPage contains TableLayoutPanel,所以我想知道是否有机会为TableLayoutPanel每个新创建的添加新的TabPage,这与第一个相同TableLayoutPanel但为空?

或者,换句话说,我可以通过TableLayoutPanel编程方式创建吗?

4

1 回答 1

1

您可以通过编程方式创建任何TableLayoutPanel控件,包括. 实际上,当您使用设计器时,控件也会以编程方式创建 - 代码由 Visual Studio 生成。

只需创建新TableLayoutPanel控件并设置它的所有属性(行、列等)。然后将此控件添加到Controls新标签页的属性中:

TabPage page = new TabPage("Another page");
page.Controls.Add(new TableLayoutPanel { Dock = DockStyle.Fill});
tabControl1.TabPages.Add(page);

您的另一个选择是使用已配置TableLayoutPanel的 . 在这种情况下,您只需要创建新的用户控件并将其添加到标签页。

您还可以TableLayoutPanel使用指定的行、列和其他设置创建自定义。例如,此控件将有两行,预定义高度为 25% 和 75%

public class CustomTableLayoutPanel : TableLayoutPanel
{
    public CustomTableLayoutPanel()
    {
        RowStyles.Clear();
        RowStyles.Add(new RowStyle(SizeType.Percent, 0.25F));
        RowStyles.Add(new RowStyle(SizeType.Percent, 0.75F));
        BackColor = Color.Beige;
    }
}
于 2013-06-11T10:44:39.143 回答