一连串的textbox有办法循环赋值到一连串的string吗

比如说textbox01,textbox02,textbox03,textbox04...赋值到对应的 str1,str2,str3,str4... 我要对每个textbox填写的值进行判断,符合的赋值,不符合的赋0x0000,如果能循环就好了,不能循环每个textbox都得if...else...一次,代码显得特别累赘
textbox01这个名字是固定的吧,总不能textbox[0],textbox[1],textbox[2]...

如果安你说的textbox01是有顺序的,那功能可以实现。但是问题是你每个文本框的if验证都一样吗? 全部一样,那可以。如果不一样那些这个for循环也就没意义了。
程序开发一般都需要避免大量的循环的出现,for是在必须用它的情况下才去用,但是按照LZ说的这些功能完全没必要做这样for操作,会造成画蛇添足。
每个进行if 判断会更好,避免程序去执行该死的for ,效率也高。建议LZ还是用if做的好。
如果你认为必须要用那我可以给你写代码。
希望楼主早早解决问题, 健康快乐每一天。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-07-15
str1,str2,str3,str4 建议你改成数组,或用List<string>
我以S数组举例,假设数组为string[] str=new str[4];
for(int i=1;i<=4;i++)
{
TextBox txt = (TextBox)this.Controls["textbox0"+i];
str[i-1]=txt.Text;
}
判断逻辑我就不写了,你自己加吧
第2个回答  2011-07-15
mfc解决办法:

CEditBox edt[10];
edt[0].SubclassDlgItem(IDC_EDIT1);
...
edt[9].SubclassDlgItem(IDC_EDIT9);

for (int i = 0; i < 10; i++)
{
CString str;
str.Format("text%d", i);
edt[i].SetText(str);
}
第3个回答  2011-07-15
额 你的控件都是这个格式的吗? 取最后两位 遍历不行么?
相似回答
大家正在搜