我使用此代码在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的临时值,它只显示第一个。 你认为呢?问题出在哪里?
答案 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
,以确保它们不重叠。