向面板添加多个标签

时间:2013-01-03 00:22:22

标签: c# foreach

如何动态地将多个标签添加到从一个范围创建值的面板。我创建了范围并将值添加到标签并通过foreach循环将标签输入到面板,但问题是我只能输出一个。

var range = Enumerable.Range(1, 90);
      foreach(int i in range)
      {
          string num = i.ToString();
          var vartable = new Dictionary<string, Label>();
          vartable[num] = new Label();
          vartable[num].Text = num;
          panel1.Controls.Add(vartable[num]);
      }

1 个答案:

答案 0 :(得分:1)

你的问题是你正在为每次迭代创建一个新的字典,我认为这不是你想要的行为。将您的代码更改为:

var range = Enumerable.Range(1, 90);
var vartable = new Dictionary<string, Label>();
foreach (int i in range)
{
    var num = i.ToString();
    var label = new Label { Text = num };
    vartable[num] = label;
    panel1.Controls.Add(label);
}