【问题标题】:Add multiple labels to a panel向面板添加多个标签
【发布时间】:2013-01-03 08:25:45
【问题描述】:

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

【问题讨论】:

  • 您可能会考虑为标签设置一个位置,或者它们可能只是一个堆叠在一起。

标签: c# foreach


【解决方案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);
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-05-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多