【发布时间】:2018-05-20 21:09:24
【问题描述】:
到目前为止,这是我的代码,其中我有一个名为 numericUpDown 的 numericupdown 项目和按钮。一旦用户在按下按钮时选择了一个数字,它就会动态创建字段。
private void createPerson_Click(object sender, EventArgs e)
{
Label[] person_Name = new Label[(int)this.numericUpDown.Value];
TextBox[] person_txtinput = new TextBox[(int)this.numericUpDown.Value];
for (int i = 0; i < this.numericUpDown.Value; i++)
{
//create person name label
Person_Name[i] = new Label();
Person_Name[i].Location = new System.Drawing.Point(20, 114 + i * 25);
Person_Name[i].Size = new System.Drawing.Size(120, 15);
Person_Name[i].Text = (i + 1).ToString() + @")" + "Person Name:";
this.Controls.Add(Person_Name[i]);
//create person name textbox
PersonNameTxtInput[i] = new TextBox();
PersonNameTxtInput[i].Location = new System.Drawing.Point(140, 114 + i * 25);
PersonNameTxtInput[i].Size = new System.Drawing.Size(125, 20);
this.Controls.Add(PersonNameTxtInput[i]);
}
}
private void save_Click(object sender, EventArgs e)
{
for (int i = 0; j < this.numericUpDown.Value; i++)
{
MessageBox.Show("" + PersonNameTxtInput[i].Text);
}
}
我的问题是,如何根据用户在按下保存按钮时创建的字段数量从文本框中获取所有值?
我已经尝试在保存按钮侦听器中使用代码,但是如何将 Label[] person_Name = new Label[(int)this.numericUpDown.Value]; 设为全局变量,以便我可以在保存按钮中访问它以进行循环。
【问题讨论】:
-
有什么理由不能只遍历 this.Controls 吗?
-
你能扩展你的问题吗,我对编码很陌生。如果我遍历 this.Controls 我也不会得到标签名称。我只需要文本字段中的值而不是标签。这是我写的一些代码。
标签: c# arrays winforms dynamic textbox