C# 多标签

C# 多标签,c#,label,C#,Label,我想在表单中使用多个标签。我正在使用以下代码: 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.Co

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

 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]);
 }
Label[]lblLeftUp=新标签[12];
对于(int i=0;i<12;i++)
{
lblLeftUp[i]=新标签();
lblLeftUp[i].位置=新点((100+(20*i)),100);
lblLeftUp[i].Text=Convert.ToString(i+1);
this.Controls.Add(lblLeftUp[i]);
}

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

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

lblLeftUp[i].AutoSize = true;

发生这种情况是因为
lblLeftUp[i]。位置=新点((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;
}
Label[]lblLeftUp=新标签[12];
int PointX=100//100是距控件左边框的初始距离
对于(int i=0;i<12;i++)
{
lblLeftUp[i]=新标签();
lblLeftUp[i]。位置=新点(点X,100);
lblLeftUp[i].Text=Convert.ToString(i+1);
this.Controls.Add(lblLeftUp[i]);
PointX+=lblLeftUp[i]。宽度;
}

您在什么页面事件中执行此操作?您忘记设置大小。我还不够,我对这个很感兴趣。所以我试过了。所以没关系,使用与否没有区别。因为,当你创建标签时,你没有设置标签的大小,所以我认为它默认设置为true。我认为默认情况下AutiSize=false。