一次性提交出问题,所以只好分开!
(接上)
运行后,form上可以生成myds.Tables[0].Rows.Count个按扭,位置也没有问题,可是每个text和name值却变成了一样,好象是mytb2在循环中被一次次重新付值后覆盖了前面的值,怎么解决?如果能定义textBox mytb[]这样的控件数组的话,我想应该是可以解决的了!我不太理解为什么可以相同名字的textbox存在同一个form上!难道这和c#的自动内存管理有关吗?因为在Delphi中写同样的代码好象是不行的 !
(接上)
运行后,form上可以生成myds.Tables[0].Rows.Count个按扭,位置也没有问题,可是每个text和name值却变成了一样,好象是mytb2在循环中被一次次重新付值后覆盖了前面的值,怎么解决?如果能定义textBox mytb[]这样的控件数组的话,我想应该是可以解决的了!我不太理解为什么可以相同名字的textbox存在同一个form上!难道这和c#的自动内存管理有关吗?因为在Delphi中写同样的代码好象是不行的 !
以上生成后,如果:
for(int i=0;i<=this.Controls.Count-1;i++)
{
MessageBox.Show (this.Controls[i].Name.ToString());
}
则显示上边生成的 控件名称全部相同,为最后一个生成的名字。
另外,再问个问题:怎么把一个object sender 强制转化为一个textbox对象——当然前提是这个sender的确是textbox对象!
mytb2.Text = (myds.Tables[0].Rows[0]["fieldDesc"].ToString().TrimEnd());
其中【0】是不是应写成【i】???
mytb2.Index=i
mytb2.Name= (myds.Tables[0].Rows[i]["fieldName"].ToString().TrimEnd() );
mytb2.Text = (myds.Tables[0].Rows[i]["fieldDesc"].ToString().TrimEnd());