2012-07-23 84 views
1

我想在單獨的標籤中的字典中顯示值。我得到的解釋是這樣的:如何動態生成在字典中顯示值的標籤

Dictionary<string, int> counts = new Dictionary<string, int>(); 
foreach (string code in myCodeList) 
{ 
    if (!counts.ContainsKey(code)) 
    { 
     counts.Add(code, 1); 
    } 
    else 
    { 
     counts[code]++; 
    } 
} 

//now counts contains the expected values 

我想動態生成的標籤,因爲在counts元素只能在運行時確定。

+2

我沒有得到你的代碼,爲什麼不只是Label.Text = String.Concat(「,」,myList); – Cynede 2012-07-23 06:18:22

回答

2
Dictionary<string, int> counts = new Dictionary<string, int>(); 
foreach (string code in myCodeList) 
{ 
    if (!counts.ContainsKey(code)) 
    { 
     counts.Add(code, 1); 
    } 
    else 
    { 
     counts[code]++; 
    } 
} 

Point p = new Point(12, 12); //initial location - adjust it suitably 
foreach (var item in counts) 
{ 
    var label = new Label(); 
    label.Text = item.Key + " - " + item.Value; 
    label.Location = new Point(p.X, p.Y); 
    label.Tag = item; //optional 
    Controls.Add(label); 

    p.Y += label.Height + 6; //to align vertically 
    //p.X += label.Width + 18; //to align horizontally. 
} 

這是最基本的方法。您只需根據您的設計調整變量p即可正確定位標籤。

+0

嗨,nawfal,謝謝你,所以我想要顯示在單獨的標籤VPUDB - 11和VPULN - 9,我需要動態的,假設它也可能包含3或4個標籤。 – chitra 2012-07-23 08:21:14

+0

@chitra是否希望將這些值列在一個標籤中,或者希望每個字符串都顯示在不同的標籤中? – nawfal 2012-07-23 08:43:29

+0

單獨的標籤,但標籤應該是動態的,假設,我的字符串數組可能包含3或4個代碼......取決於我的字符串輸入 – chitra 2012-07-23 08:51:24

0

這應該是足夠了

編輯

YourLabel.Text = counts.Count.ToString(); 
+0

這甚至不會編譯。除了被錯誤的回答 – nawfal 2012-07-23 06:38:20