动态添加标签到表单:尝试添加更多标签时标签不可见

时间:2017-10-15 01:20:20

标签: c#

我使用此代码在c#:

中为Windows窗体添加一些标签
Label[] lbl = new Label[temp+1];
for (int i = 0; i <= temp; i++) {
    lbl[i] = new Label();
    lbl[i].Text = "" + i;
    lbl[i].Location = new Point(30 + (i * unit), 380);
    lbl[i].Visible = true;
    this.Controls.Add(lbl[i]);
}

没有严重的问题,但我的代码适用于小于5的临时值,而对于大于5的临时值,它只显示第一个。 你认为呢?问题出在哪里?

1 个答案:

答案 0 :(得分:1)

通过将AutoSize属性设置为true,使标签自动调整其内容大小:

 lbl[i] = new Label();
 lbl[i].Text = "" + i;
 lbl[i].Location = new Point(30 + (i * unit), 380);
 lbl[i].Visible = true;
 lbl[i].AutoSize = true;
 this.Controls.Add(lbl[i]);

如果没有这个,标签的大小就会固定。当此固定大小大于unit时,标签会重叠并隐藏彼此的文本。要添加更多标签,unit会变得更小,然后小于temp≥5时标签的默认宽度。

或者,您可以将标签的宽度设置为unit,以确保它们不重叠。