将多个标签添加到面板 [英] Add multiple labels to a panel

查看:171
本文介绍了将多个标签添加到面板的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

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




$ div class =h2_lin>解决方案

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

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


How would I dynamically add multiple labels to a panel whos values are created from a range. I have created the range and added the value to a label and inputted the label to a panel via a foreach loop but the problem is that I am only able to output one.

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]);
      }

解决方案

Your problem is that you're creating a new dictionary for each iteration, which I don't think is your wanted behavior. Change your code to:

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);
}

这篇关于将多个标签添加到面板的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆