1 foreach (Control c in this.Controls) 2 { 3 if (c is TextBox) 4 ((TextBox)c).Text = "1111"; 5 } 6 7 foreach (Control c in this.Controls) 8 { 9 string type = c.GetType().Name; 10 switch (type) 11 { 12 case "TextBox": 13 ((TextBox)c).Text = "111"; break; 14 } 15 } 16 17 for (int i = 1; i <= 10; i++) 18 { 19 Control c = this.Controls.Find("textBox" + i.ToString(), true)[0]; 20 ((TextBox)c).Text = "1111"; 21 }
使用foreach只能找到本级的子控件,而下级的子控件就找不到,比如本级里面有panel,groupbox等,panel,groupbox里面的子控件就找不到。
使用Find第二参数为true时,可以找到所有的子控件,包括下级里面的。