2014-06-05 29 views
0

我在設計器界面上有幾個文本框對象,比如txtF1_ZHTW,txtF2_ZHTW,txtF3_ZHTW。如何通過for循環將多個文本框值放到數組中

如何通過for循環將這3個文本框的值放入數組中?

我用現在的語法是最糟糕的方式:

fieldName_TW[0] = txtF1_ZHTW.Text; 
fieldName_TW[1] = txtF2_ZHTW.Text; 

對於我希望繼續是一樣的東西......

for(i=0;i<3;i++) 
{ 
    fieldName_TW[i] = txtF[i+1]_ZHTW.Text; 
} 

所以,我怎麼能修改代碼來使用for循環將多個文本框的值輸入到數組中?

回答

0

將您的文本框放在一個集合中,例如List<TextBox>,以便您可以迭代它。

var texboxes = new List<TextBox>() 
{ 
    txtF1_ZHTW, 
    txtF2_ZHTW 
}; 

// ... 

foreach(var textbox in textboxes) // Assumes that fieldName_TW is large enough 
    fieldName_TW[i] = textbox.Text 
+0

對於進一步的問題是將文本框添加到列表時可能會出現請參閱:http://stackoverflow.com/questions/15797447/many-form-textbox-in-one-listtextbox –

+0

爲什麼downvote請? – quantdev

+0

我參考了URL並獲得成功! http://stackoverflow.com/questions/15797447/many-form-textbox-in-one-listtextbox – user3073681

0

我不會依賴一個名稱來製作這種循環。讓你的文本框的集合,並且以正確的順序添加它們,這樣你就可以使用正確的索引來閱讀:

List<TextBox> textBoxes = new List<TextBox>() { txtF1_ZHTW, txtF2_ZHTW, txtF3_ZHTW }; 

使用for循環您已經表明:

for(int i=0; i < textBoxes.Count; i++) 
{ 
    fieldName_TW[i] = textBoxes[i].Text; 
}