我有一个dt表,想把其中第一列的所有记录值(文本的)在winform 上动态生成文本框控件,并把这些值分别放在动态生成的各个文本框里。通过下面的循环,本功能已经实现。但是之后如果在winform上修改了某个框里的值,怎么取这个值呢?比如我在循环结束后写string s=this.tb2.Text, C#是不认的,因为在代码里找不到“tb2”这个名字。怎么操作这些连名字都是动态生成的控件呢?
for (int rr=0; rr<dt.Rows.Count; rr++)
{
TextBox tb = new TextBox();
tb.Text =dt.Rows[rr][0].ToString();
tb.Location = new System.Drawing.Point(20,20+rr*30);
tb.Size = new System.Drawing.Size(30, 20);
tb.Name = "tb" + rr.ToString();
this.groupBox1.Controls.Add(tb); }
for (int rr=0; rr<dt.Rows.Count; rr++)
{
TextBox tb = new TextBox();
tb.Text =dt.Rows[rr][0].ToString();
tb.Location = new System.Drawing.Point(20,20+rr*30);
tb.Size = new System.Drawing.Size(30, 20);
tb.Name = "tb" + rr.ToString();
this.groupBox1.Controls.Add(tb); }
TextBox[] tb = new TextBox[dt4.Rows.Count];
for (int rr=0; rr<dt4.Rows.Count; rr++)
{
tb[rr] = new TextBox();
tb[rr].Text =dt4.Rows[rr][0].ToString();
tb[rr].Location = new System.Drawing.Point(20,20+rr*30);
tb[rr].Size = new System.Drawing.Size(30, 20);
tb[rr].Name = "tb" + rr.ToString();
this.groupBox1.Controls.Add(tb[rr]);
}