如何从我在一个表单中创建的文本框中读取值并将它们发送到另一个表单?

时间:2015-12-01 19:27:10

标签: c# textbox

所以,我在form2中创建了这个文本框;

System.Windows.Forms.TextBox[] someTb = new System.Windows.Forms.TextBox[10];

for (int i = 0; i < 10; ++i)
{
    sombeTb[i] = new TextBox();

    textos[i].Location = new System.Drawing.Point(60, 84 + i * 35);
    this.Controls.Add(textos[i]);
}

我需要访问此TextBoxes(someTb)并将它们发送到另一个Form

3 个答案:

答案 0 :(得分:1)

由于您已将它们放在数组中,因此您只需将该数组传递给另一个表单即可。在新表单上声明public TextBox[] TextBoxes { get; set; },当表单实例化时,将数组(或数组的副本)分配给公共属性。否则,您可以使用Dictionary<int, string>作为int键部分使用数组索引,string值部分使用TextBox值。然后将该集合传递给新表单。

答案 1 :(得分:0)

可能最简单的答案是在项目中有一个静态类,它具有TextBoxs的静态成员,并且可以从任何一种形式读取/写入静态变量。

答案 2 :(得分:0)

最后,我随时使用Name属性来调用TextBox。

System.Windows.Forms.TextBox[] someTb = new System.Windows.Forms.TextBox[10];

for (int i = 0; i < 10; ++i)
{
sombeTb[i] = new TextBox();
someTb[i].Location = new System.Drawing.Point(60, 84 + i * 35);
this.Controls.Add(someTb[i]);

someTb[i].Name = "someName" + i.ToString();
}

然后我可以访问像这样的方法

this.Controls["someName" + i].Method

这不是最好的方式,但是因为我很匆忙,所以我使用过它。