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