我在c#中有一个Windows应用程序,其形式为我有12个名称为
的标签label1, label2 , ...............
我有12个数字的数组(经过一些计算)
喜欢:
int[] nums = new int[12] {1, 0, 4, 6,.............};
我想循环为每个标签项分配一个分别来自数组的值
类似
for (int i = 1; i <= 12; i++) {
label+i.Text = nums[i-1].ToString();
}
这样做的有效方法是什么?
感谢
答案 0 :(得分:7)
创建相应的标签数组:
Label[] labels = new Label[12] { label1, label2, ... };
for(int i = 0; i < 12; i++)
{
labels[i].Text = nums[i].ToString();
}
答案 1 :(得分:5)
如果所有标签属于同一个控件(例如Panel),则可以使用find控件执行此分配:
for(int i = 0;i < 12; i++)
{
Label lbl = myPanel.FindControl("Label" + i.ToString());
lbl.Text = nums[i].ToString();
}
答案 2 :(得分:1)
您可以使用FindControl
方法根据名称找到控件:
for (int i = 0; i < nums.Length; i++) {
(Form.FindControl("label" + i.ToString()) as Label).Text = nums[i].ToString();
}