我试图使用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之间。
答案 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);
}