C# 尝试将标签动态添加到表单,将37个标签添加到列,直到总共有183个标签
我试图在表单中添加五列标签,前三列37个标签,第四列35个标签。我正在努力成为一名优秀的程序员,避免一次又一次地重新键入代码,所以如果可能的话,我希望在一个循环中处理所有四列。这是我到目前为止得到的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++) {
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;`