我在一个panel上添加了一些动态控件。代码如下:
            foreach (DataRow dr in mydt.Rows)
            {
                lb1 = new Label();
                tb1 = new TextBox();                lb1.Text = dr["PName"].ToString();
                lb1.Location = new Point(x, y);
                tb1 = new TextBox();
                tb1.Text = "";                tb1.Location = new Point(x+x_place, y);
                pl_pro.Controls.Add(lb1);
                pl_pro.Controls.Add(tb1);
                y += y_place;
            }
            pl_pro.BringToFront();
我想知道,如果获得动态生成的label及textbox的值。请大家指教。

解决方案 »

  1.   

    我添加的控件名都是tb1,lb1,控件20个,怎么区别开呢?他自己会有一个控件数组吗?
    楼上的帮忙说详细点。
      

  2.   


               for(int i=0;i<mydt.Rows.Count;i++)
                {
                    lb1 = new Label();
                    lb1.Name="lbl"+i.toString();//也可以把i换成有意义的字符串
                    tb1 = new TextBox();                lb1.Text = dr["PName"].ToString();
                    lb1.Location = new Point(x, y);
                    tb1 = new TextBox();
                    tb1.Name="lbl"+i.toString();//也可以把i换成有意义的字符串
                    tb1.Text = "";                tb1.Location = new Point(x+x_place, y);
                    pl_pro.Controls.Add(lb1);
                    pl_pro.Controls.Add(tb1);
                    y += y_place;
                }
    然后根据控件名访问,