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]);
 }

ただし、表示できるラベルは 1 つだけです。それを修正するアイデアはありますか?

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 に答える