如何创建TabControl并在C#中通过循环以编程方式由TabPage填充它?

时间:2019-05-07 16:28:04

标签: c# tabcontrol

我是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

谢谢您的帮助!

1 个答案:

答案 0 :(得分:0)

这里是您的功能

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);
    }

您需要从循环中删除父级。 您创建了4个父级,两个父级又是另一个父级。 并且如果想要3,则需要将h更改为3。 也许最好将此循环更改为for循环。