0

我如何将多个标签动态添加到面板中,面板的值是从一个范围创建的。我已经创建了范围并将值添加到标签并通过 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]);
      }
4

1 回答 1

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);
}
于 2013-01-03T00:25:45.507 回答