在循环中创建控件我有一些代码可以将新单元格添加到表中并用文本框填充它们。到目前为止,我编写它的方式工作正常:TableCelltCell1=newTableCell();TableCelltCell2=newTableCell();TableCelltCell3=newTableCell();TableCelltCell4=newTableCell();TableCelltCell5=newTableCell();TableCelltCell6=newTableCell();TableCelltCell7=newTableCell();TextBoxtxt1=newTextBox();文本框txt2=新文本框();文本框txt3=新文本框();文本框txt4=新文本框();txt5=新文本框();文本框txt6=新文本框();TextBoxtxt7=newTextBox();tCell1。控制。添加(txt1);tCell2。控制。添加(txt2);tCell4.Controls.Add(txt4);tCell5.Controls.Add(txt5);tCell6.Controls.Add(txt6);tCell7.Controls.Add(txt7);tRow.Cells.Add(tCell1);(tCell2);tRow.Cells.Add(tCell3);tRow.Cells.Add(tCell4);tRow.Cells.Add(tCell5);tRow.Cells.Add(tCell6);tRow.Cells.Add(tCell7);你所看到的,基本上有4条指令重复了7次。我确信必须有一种方法可以在FOR循环中仅使用4行代码并动态分配所有名称,但我似乎找不到任何可以指向我这样做的方向。这就是我所追求的:for(inti=0;i<6;i++){TableCelltCell[i]=newTableCell();TextBoxtxt[i]=newTextBox();tCell[i].控件。添加(txt[i]);tRow.Cells.Add(tCell[i]);}任何帮助将不胜感激。我认为它应该这样做:for(inti=0;i确保将6更改为7。这应该可以正常工作吗?for(inti=0;i虽然我真的没有得到你需要的名字。你是计划使用“txt5”名称作为该特定文本框的参考?为什么不直接使用tRow.Cells[4].Controls[0]作为文本框?你写的实际上看起来很接近我。有几件事要记住不过。我不相信你需要数组索引。只需在循环外初始化tRow,它每次都会添加一个新元素。你可能还想设置每个文本框的ID属性,这样你就可以访问任何特定的文本可能正在寻找。感谢所有有用的答案。对于那些问我如何处理数组的人,我不是!这只是我正在努力实现的一个例子。伊恩和拉尔斯的想法是正确的,因为稍后我需要参考这些文本框,我只使用Eugene和Lubos的解决方案,并确保我添加一行将为它们提供顺序ID(txt1、txt2等),这样我就可以做到这一点。再次感谢所有精彩(快!)输入,我现在爱上了这个网站!以上就是C#学习教程:在循环中创建控件的全部内容。如果对你有用,需要了解更多C#学习教程,希望大家多多关注---本文收集自网络,不代表立场,如有侵权,请指教点击右侧联系管理员删除。如需转载请注明出处:
