2013-01-03 126 views
0

我將如何動態地將多個標籤添加到面板,其值是從一個範圍創建的。我創建了範圍並將其添加到標籤並通過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]); 
     } 
+1

而且您可能會考慮爲標籤設置位置,或者可能只是將其中一個放在另一個的上面。 – PhoenixReborn

回答

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