如何使用for循环找到多个标签

时间:2011-09-12 11:55:07

标签: c#

我试图使用for循环找到多个标签,但我只找到最后一个标签。这是我的代码:

string input = textBox1.Text;
int n = Convert.ToInt32(input);
for (i = 1; i <= n; i++)
{
    label.Name = "label" + i;
    label.Location = new Point(100, 100 + i * 30);
    label.TabIndex = i;
    label.Visible = true;
    //label[i].Name=
    label.Text = "jjgggg";


    this.Controls.Add(label);
}

如果输入5,我希望所有标签都在1到5之间。

1 个答案:

答案 0 :(得分:6)

您反复分配到同一标签的属性。你需要这样的东西:

string input = textBox1.Text;
int n = Convert.ToInt32(input);
for (i = 1; i <= n; i++)
{
    Label label = new Label();
    label.Name = "label" + i;
    label.Location = new Point(100, 100 + i * 30);
    label.TabIndex = i;
    label.Visible = true;
    label.Text = "jjgggg";

    this.Controls.Add(label);
}

您可能还想考虑使用对象初始值设定项:

string input = textBox1.Text;
int n = Convert.ToInt32(input);
for (i = 1; i <= n; i++)
{
    Label label = new Label
    {
        Name = "label" + i,
        Location = new Point(100, 100 + i * 30),
        TabIndex = i,
        Visible = true,
        Text = "jjgggg"
    };

    this.Controls.Add(label);
}