C#.net 怎么给指定的多个Textbox赋值,循环赋值。

里面有多个textbox,我需要对其中的Textbox4~Textbox35赋值,所赋的值为一个32长度的字符串的单个字符。怎么挑选出Textbox4~Textbox35来并赋值。我想用循环赋值,而不是一个一个的赋值。
我想用类似于
String ss[32]= TextBox1.Text;
foreach (Control tt in Controls)
if (tt is TextBox)
{
int a = tt.“TextBox的某种属性” ; //如能把TextBox4中的‘4’取出来就更好了,其它能区别 //于各个TextBox的值也可以。
if (a>=4 and a<=35)
a.Text = ss[a-4];

};
初学者,不知道此路行的通不,见笑了。

//先获取全部控件,然后循环控件判断是否为TextBox控件,是的就赋值
private List<Control> AllControls = new List<Control>();
private void FindControls(Control container)
{
foreach (Control c in container.Controls)
{
AllControls.Add(c);
if (c.HasChildren)
{
FindControls(c);
}
}
}
private void button1_Click(object sender, EventArgs e)
{
int i;
i=0;
FindControls(this);
foreach (Control c in AllControls)
{
i++;
string[] textvalue={"a","b","c"};
MessageBox.Show(c.Name.ToString());
if (i>3)
{
i=0;
}
else if (c.Name.ToString() like "Textbox")
c.Name.Text=textvalue[i];
}
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-03-14

Textbox4~Textbox35  是textbox的控件的name 么? 不然就没法区分这些textbox了。如果是这样,那就是这样写呗

string b = tt.Name.Replace("textBox", "");
int a = Convert.ToInt32(b);

第2个回答  2014-08-28
大体的代码是这样的(引用Linq):
this.Controls.OfType<TextBox>().First(x=>x.Name==控件名).Text=值。本回答被网友采纳
第3个回答  2018-03-14

TextBox1,这些名字,是控件的名字吧。
获取控件名字的方法,有很多。如:net 获取控件的控件名