c#,如何用循环来实现赋值

有一个数组a[100],以及100个textbox
要令a[0]=textBox1.Text
..............
a[99]=textBox100.Text
请问这种赋值,怎么用循环方便的实现?

string[ ] a=new string[5]{"1","2","3","4","5"};
int count = 0;
foreach (var item in this.Controls)
{
if (item is TextBox)
{
count++;
TextBox te = item as TextBox;
te.Text = a[Convert.ToInt32( te.Tag)-1];
}
if (count == 5)
break;
}
100同理。自己修改下。

如果textbox是动态添加的。就在添加的时候写上textbox.Tag=对应的textbox后的值。
比如textbox22.就写上textbox.Tag=22;

如果是手动添加。就找到其属性tag写上对应的值就可以了。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-05-11
string[] a=new string [100];
//遍历所有控件
for (int i = 0; i < (this.Controls.Count); i++)
{
if (this.Controls[i].GetType == typeof(System.Windows.Forms.TextBox))
{
string id = ((TextBox)this.Controls[i]).ID;
for(int j=0;j<100;i++)
{
if (("textBox" + (j + 1)) == ((TextBox)this.Controls[i]).ID)
a[j] = ((TextBox)this.Controls[i]).Text;
}
}
}
}
第2个回答  2012-05-11
//解决思想:
//先建一个列表list,
//然后把每个textbox的名字添加进list,
//最后把list的值导出到字符串数组中。

//列表list
List<string> list = new List<string>();
//把每个textbox的名字添加进list,
for (int i = 0; i < (this.Controls.Count); i++)
{
if (this.Controls[i].GetType == typeof(System.Windows.Forms.TextBox))
{
list.Add(this.Controls[i].Text);
}
}
//字符串数组
string[] mResults = new string[list.Length];
//把列表的值逐个导入到字符串数组
for (int i = 0; i < list.Count; i++)
{
mResults[i] = list[i];
}
第3个回答  2012-05-11
a[i]=textBox[i].Text
第4个回答  2012-05-11
不好意思,我在那个form1.Designer.cs中定义个私有字符串,可是我不知道在From1.cs中如何可以调用。我解决不了。
新学者 忘谅解
相似回答