方法1:如果你的10个TestBox都在同一个容器里(暂定是panel1),同时假定TestBox1~10都是TextBox,这样写:
foreach (Control c in panel1.Controls)
if (c is TextBox)
for (int i = 1; i <= 10; i++)
if (c.Name == "testBox" + i.ToString())
(c as TextBox).Clear();
就是先遍历容器里所有control,找出所有TextBox,如果他的Name为TestBox1~10就清除文本。
还可以再简洁一些,直接从Name下截取最后的数字
foreach (Control c in panel1.Controls)
if (c is TextBox && int.Parse(TestBox1.Name.Substring(7)) >= 1 && int.Parse(TestBox1.Name.Substring(7)) <= 10)
(c as TextBox).Clear();
方法2:假设这些TestBox分散在好多容器里(同样假设TestBox都是TextBox控件),建议这样:把它们都加入到一个列表中(就是List<TextBox>),这样你随时可以遍历列表清除所有列表内成员的文本。
List<TextBox> testBoxList=new List<TextBox>();
testBoxList.Add(TestBox1);
testBoxList.Add(TestBox3);
……
要清除时:
foreach (TextBox tb in testBoxList)
tb.Clear();
这样看起码麻烦,实际上有个好处:你可以用List<Control>列表来维护多种控件,TextBox/Panel/Button等都可以丢进去,需要清除Text属性时遍历即可。
|