我有TabControl
一个包含一个TabPage
,并且其他 TabPages 是在事件中动态添加的。
First TabPage contains TableLayoutPanel
,所以我想知道是否有机会为TableLayoutPanel
每个新创建的添加新的TabPage
,这与第一个相同TableLayoutPanel
但为空?
或者,换句话说,我可以通过TableLayoutPanel
编程方式创建吗?
我有TabControl
一个包含一个TabPage
,并且其他 TabPages 是在事件中动态添加的。
First TabPage contains TableLayoutPanel
,所以我想知道是否有机会为TableLayoutPanel
每个新创建的添加新的TabPage
,这与第一个相同TableLayoutPanel
但为空?
或者,换句话说,我可以通过TableLayoutPanel
编程方式创建吗?
您可以通过编程方式创建任何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;
}
}