2012-08-27 30 views
-1

我有一個數據字典,它使用一個字符串作爲索引和值如下面的列表對象:分配一個字典的值,以文本框

Dictionary<string, List<string>> dataDict = new Dictionary<string, List<string>>(); 

我也有20名的文本框(TextBox1中,TextBox2中,TextBox3等)

我怎麼能分配到二十文本框List對象中的值(假設有列表對象內舉行的個值)?

+0

爲什麼不能使用文本框而不是表示該文本框名稱的字符串?另外這個winforms,WPF,ASP.NET還是什麼? – Servy

+0

如果你真的想這樣做,只需創建一個TextBoxes集合,然後使用例如lambda賦值。 – IDontKnowPopePersonally

+1

_「使用int作爲索引」_但您的密鑰是一個字符串。你在那裏存儲什麼? –

回答

0

我建議把你的文本框在一個容器控件像Panel

var allTextBoxes = txtPanel.Controls.OfType<TextBox>(); 
foreach(var kv in dataDict) 
{ 
    String index = kv.Key; 
    String values = String.Join(",", kv.Value); 
    TextBox txt = allTextBoxes.FirstOrDefault(txt => txt.Name == "TextBox" + index); 
    if(txt != null) 
    { 
     txt.Text = values; 
    } 
} 
0

我有一種感覺,我不能正確理解這個問題(特別是有一本字典的目的),但你可以使用以下內容:

int i = 1; 
List<string> values = dataDict["0"]; // gets the first item from the dictionary 
foreach (string data in values) 
{ 
    (this.Controls.Find("Textbox" + i, true)[0] as TextBox).Text = data; 
    i++; 
}