2

我想在我的表单中使用多个标签。我正在使用以下代码:

 Label[] lblLeftUp = new Label[12];
 for (int i = 0; i < 12; i++)
 {
    lblLeftUp[i] = new Label();
    lblLeftUp[i].Location = new Point((100 + (20 * i)), 100);
    lblLeftUp[i].Text = Convert.ToString(i + 1);
    this.Controls.Add(lblLeftUp[i]);
 }

但是,我只能看到一个标签。有什么办法解决这个问题吗?

4

2 回答 2

1

标签相互阻挡。所以试试这个:

lblLeftUp[i].AutoSize = true;
于 2012-04-21T18:54:59.680 回答
0

发生这种情况是因为lblLeftUp[i].Location = new Point((100 + (20 * i)), 100);. 你怎么看,你为以下标签设置了错误的位置。事实上20是不够的。所以我的建议是根据标签的大小设置位置。因此,如果您想要水平排列的标签。试试这个:

Label[] lblLeftUp = new Label[12];
int PointX = 100; //100 is the initial distance from the left border of the control
for (int i = 0; i < 12; i++)
{
   lblLeftUp[i] = new Label();
   lblLeftUp[i].Location = new Point(PointX, 100);
   lblLeftUp[i].Text = Convert.ToString(i + 1);
   this.Controls.Add(lblLeftUp[i]);
   PointX += lblLeftUp[i].Width;
}
于 2012-04-21T19:18:54.957 回答