0

値が範囲から作成されるパネルに複数のラベルを動的に追加するにはどうすればよいですか。範囲を作成してラベルに値を追加し、foreachループを介してラベルをパネルに入力しましたが、問題は1つしか出力できないことです。

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 に答える