2014-06-05 25 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; 
}