C# 尝试将标签动态添加到表单,将37个标签添加到列,直到总共有183个标签

C# 尝试将标签动态添加到表单,将37个标签添加到列,直到总共有183个标签,c#,forms,visual-studio-2010,C#,Forms,Visual Studio 2010,我试图在表单中添加五列标签,前三列37个标签,第四列35个标签。我正在努力成为一名优秀的程序员,避免一次又一次地重新键入代码,所以如果可能的话,我希望在一个循环中处理所有四列。这是我到目前为止得到的 Label[] countLabel = new Label[200]; int PointY = 20; int PointX = 20; for (int i = 0; i < 4; i++) {

我试图在表单中添加五列标签,前三列37个标签,第四列35个标签。我正在努力成为一名优秀的程序员,避免一次又一次地重新键入代码,所以如果可能的话,我希望在一个循环中处理所有四列。这是我到目前为止得到的

        Label[] countLabel = new Label[200];
        int PointY = 20;
        int PointX = 20;
        for (int i = 0; i < 4; i++)
        {
            for (int j = 0; j < 37; j++ )
            {
                countLabel[j] = new Label();
                countLabel[j].Location = new Point(PointX, PointY);
                countLabel[j].Text = Convert.ToString(j + 1);
                panel1.Controls.Add(countLabel[j]);
                PointY += countLabel[j].Height;
            }
            PointX+=100;
        }
然后,在输出第一组37之后,使下一列位于右侧100px

无论何时运行,第一个37都会完美地形成,然后第38个会向右移动,但低于数字37。如何重置Y位置,使下一列从与第一列相同的Y位置开始,一直向下移动?

这不是一个简单的问题

PointY = 20;
排队后

`PointX+=100;`

怎么办?它将重置Y,下一个将从顶部开始。

哦,我的天哪。是的,它确实修复了它。我不知道我怎么没有想到。在我写这个问题的时候,我对代码做了一些重大的修改,所以结构非常不同,这是行不通的。谢谢-
`PointX+=100;`