C#用for循环控制控件属性?

例如实现10个textbox的text属性分别为1-10
for(int i=0;i<10;i++){
textbox【i】.text=i
}
怎么实现

推荐使用集合装载控件

这样无论控件的名称是什么都可以进行控制

List<textBox> tblist = new List<textBox>(){

textbox1,textbox2,textbox3,textbox4,textbox5,textbox6,textbox7,textbox8,textbox9,textbox10

};

for(int i=0;i<10;i++){
tblist[i].text=i.ToString();
}

遍历窗体控件

这种方法适合控件名称有规律的情况

for (int i = 0; i < this.Controls.Count; i++) {

        Control cc = Controls[i];

        if (cc is TextBox) {

               //判断名字开头是否为textBox

              if (tbox.Name.startWith("textBox")) { 

                     var tbox = cc as TextBox; //进行类型转换

                     string 数字 = tbox.Name.Substring(7);

                     tbox.Text = 数字;

              }

       }

}

追问

如果textbox的个数更多呢

追答

如果数量超过100,建议动态创建,每创建一个,就把这个textBox加入到list中方便管理。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-02-17
对10 个textbox的Name分别命名为txt_x【x为递加值】,把所有的textbox放入一个容器中【如:panel】,遍历容器中的所有控件【如果容器中还加入了其他控件的话则要判断一下是否为textbox】,把textbox对应的x递加值付给其text