WinForm遍历控件

 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时,可以找到所有的子控件,包括下级里面的。

posted @ 2018-06-11 16:55  。活着。  阅读(280)  评论(0编辑  收藏  举报