C# 循环给多个连续编号的控件赋值
我们经常在 winform 界面上用很多文本框用来显示一组数据,文本框前面有Label标识。我们得到的数据也经常是一个list 或者数组的形式的。
需要给这些文本框赋值:
int[] data = { 10, 9, 8, 7, 6, 5, 4, 3, 2, 1 }; textBox1.Text = data[0].ToString(); textBox2.Text = data[1].ToString(); textBox3.Text = data[2].ToString(); textBox4.Text = data[3].ToString(); textBox5.Text = data[4].ToString(); textBox6.Text = data[5].ToString(); textBox7.Text = data[6].ToString(); textBox8.Text = data[7].ToString(); textBox9.Text = data[8].ToString(); textBox10.Text = data[9].ToString();
这样太麻烦,控件太多的话写起来比较麻烦,编号什么也容易弄错
如果我们用个for循环 一次性赋值,再多也不怕了,这样程序也比较精简。
做了一个简单的demo,放一个panel ,然后里面放10个Label,和10个TextBox ,
控件名就用自动生成的带序号的控件名。将控件按顺序排列好。
private void button1_Click(object sender, EventArgs e) { for (int i = 1; i <= 10; i++) { // 方式1: ((Label)(this.Controls.Find("label" + i.ToString(), true)[0])).Text = "textBox" + i.ToString(); //方式2: panel1.Controls["textBox" + i.ToString()].Text = i.ToString(); } }
点击 Button 运行后效果如下:
标签:控件,C#,Text,ToString,data,赋值 From: https://www.cnblogs.com/laihx/p/17043170.html