如何在 C# 中通过循环以编程方式创建 TabControl 并通过 TabPages 填充它?
How do I create TabControl and populate it by TabPages programmatically by loop in C#?
我是 C# 新手,我想通过循环创建分层 TabControl,其中 TabControl1 包含 TabPages A1 和 A2,然后在 A1 中创建 TabControl2,其中 TabControl2 包含 B1 和 B2,其中 1,2,3 表示循环指数。我希望像下图这样的东西。
sample picture 1
sample picture 1
private void button1_Click(object sender, EventArgs e)
{
int g = 0;
int h = 4;
while (g < h)
{
g++;
var parentTabControl = new TabControl { Dock = DockStyle.Fill };
parentTabControl.TabPages.Add("A" + g.ToString());
var page = parentTabControl.TabPages[0];
var childTabControl = new TabControl { Dock = DockStyle.Fill };
childTabControl.TabPages.Add("B" + g.ToString());
page.Controls.Add(childTabControl);
this.Controls.Add(parentTabControl);
}
}
但我得到了
Output
感谢您的帮助!
这里是你的函数
private void button1_Click(object sender, EventArgs e)
{
int g = 0;
int h = 3;
var parentTabControl = new TabControl { Dock = DockStyle.Fill };
while (g < h)
{
g++;
parentTabControl.TabPages.Add("A" + g.ToString());
var page = parentTabControl.TabPages[g-1];
var childTabControl = new TabControl { Dock = DockStyle.Fill };
childTabControl.TabPages.Add("B" + g.ToString());
page.Controls.Add(childTabControl);
}
this.Controls.Add(parentTabControl);
}
您需要从循环中取出 parent。
您创建了 4 个 parent 一个覆盖另一个。
如果你想要 3,你需要将 h 更改为 3。
也许将此循环更改为 for 循环会更好。
我是 C# 新手,我想通过循环创建分层 TabControl,其中 TabControl1 包含 TabPages A1 和 A2,然后在 A1 中创建 TabControl2,其中 TabControl2 包含 B1 和 B2,其中 1,2,3 表示循环指数。我希望像下图这样的东西。
sample picture 1
sample picture 1
private void button1_Click(object sender, EventArgs e)
{
int g = 0;
int h = 4;
while (g < h)
{
g++;
var parentTabControl = new TabControl { Dock = DockStyle.Fill };
parentTabControl.TabPages.Add("A" + g.ToString());
var page = parentTabControl.TabPages[0];
var childTabControl = new TabControl { Dock = DockStyle.Fill };
childTabControl.TabPages.Add("B" + g.ToString());
page.Controls.Add(childTabControl);
this.Controls.Add(parentTabControl);
}
}
但我得到了
Output
感谢您的帮助!
这里是你的函数
private void button1_Click(object sender, EventArgs e)
{
int g = 0;
int h = 3;
var parentTabControl = new TabControl { Dock = DockStyle.Fill };
while (g < h)
{
g++;
parentTabControl.TabPages.Add("A" + g.ToString());
var page = parentTabControl.TabPages[g-1];
var childTabControl = new TabControl { Dock = DockStyle.Fill };
childTabControl.TabPages.Add("B" + g.ToString());
page.Controls.Add(childTabControl);
}
this.Controls.Add(parentTabControl);
}
您需要从循环中取出 parent。 您创建了 4 个 parent 一个覆盖另一个。 如果你想要 3,你需要将 h 更改为 3。 也许将此循环更改为 for 循环会更好。