所以,我在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
答案 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
这不是最好的方式,但是因为我很匆忙,所以我使用过它。