Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/321.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 向面板添加多个标签_C#_Foreach - Fatal编程技术网

C# 向面板添加多个标签

C# 向面板添加多个标签,c#,foreach,C#,Foreach,如何将多个标签动态添加到从一个范围创建值的面板中。我已经创建了范围并将值添加到标签,并通过foreach循环将标签输入到面板,但问题是我只能输出一个 var range = Enumerable.Range(1, 90); foreach(int i in range) { string num = i.ToString(); var vartable = new Dictionary<string, Label>();

如何将多个标签动态添加到从一个范围创建值的面板中。我已经创建了范围并将值添加到标签,并通过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]);
      }
var范围=可枚举范围(1,90);
foreach(范围内的int i)
{
string num=i.ToString();
var vartable=新字典();
vartable[num]=新标签();
变量表[num].Text=num;
panel1.Controls.Add(vartable[num]);
}

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

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);
}
var范围=可枚举范围(1,90);
var vartable=新字典();
foreach(范围内的int i)
{
var num=i.ToString();
var label=新标签{Text=num};
变量表[num]=标签;
面板1.控件。添加(标签);
}

您可能需要考虑如何设置标签的位置,或者将标签一个叠在另一个上。