3

我在 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();
   }

这样做的有效方法是什么?

谢谢

4

3 回答 3

7

创建相应的标签数组:

Label[] labels = new Label[12] { label1, label2, ... };

for(int i = 0; i < 12; i++)
{
    labels[i].Text = nums[i].ToString();
}
于 2010-12-08T19:13:46.983 回答
5

如果所有标签都属于同一个控件(例如 Panel),您可以使用 find 控件来执行此分配:

for(int i = 0;i < 12; i++)
{
    Label lbl = myPanel.FindControl("Label" + i.ToString());
    lbl.Text = nums[i].ToString();
}
于 2010-12-08T19:13:53.587 回答
1

您可以使用该FindControl方法根据名称定位控件:

for (int i = 0; i < nums.Length; i++) {
  (Form.FindControl("label" + i.ToString()) as Label).Text = nums[i].ToString();
}
于 2010-12-08T19:15:51.240 回答