一次性提交出问题,所以只好分开!
(接上)
  运行后,form上可以生成myds.Tables[0].Rows.Count个按扭,位置也没有问题,可是每个text和name值却变成了一样,好象是mytb2在循环中被一次次重新付值后覆盖了前面的值,怎么解决?如果能定义textBox mytb[]这样的控件数组的话,我想应该是可以解决的了!我不太理解为什么可以相同名字的textbox存在同一个form上!难道这和c#的自动内存管理有关吗?因为在Delphi中写同样的代码好象是不行的 !

解决方案 »

  1.   

    (接上)
    以上生成后,如果:
    for(int i=0;i<=this.Controls.Count-1;i++)
    {
       MessageBox.Show (this.Controls[i].Name.ToString());
    }
    则显示上边生成的 控件名称全部相同,为最后一个生成的名字。
    另外,再问个问题:怎么把一个object sender 强制转化为一个textbox对象——当然前提是这个sender的确是textbox对象!
      

  2.   

    mytb2.Name= (myds.Tables[0].Rows[0]["fieldName"].ToString().TrimEnd() );
      mytb2.Text = (myds.Tables[0].Rows[0]["fieldDesc"].ToString().TrimEnd());
    其中【0】是不是应写成【i】???
      

  3.   

    有没有这样一个属性:
    mytb2.Index=i
      

  4.   

     to :liu_z_j() 是我发帖子时写错了!是
    mytb2.Name= (myds.Tables[0].Rows[i]["fieldName"].ToString().TrimEnd() );
      mytb2.Text = (myds.Tables[0].Rows[i]["fieldDesc"].ToString().TrimEnd());