winform遍历控件的Controls.OfType<>方法
页面TextBox控件较多时,可以使用类似的名字,方便遍历时整体的修改,可以使用Controls.OfType<TextBox>()获取所有文本框;
需要引用命名空间System.Linq;
1 //获取所有文本框 2 var inputControls = this.Controls.OfType<TextBox>().ToList(); 3 string name; 4 TextBox tb; 5 for (int i = 0; i < inputControls.Count; i++) 6 { 7 //控件名称 8 name = string.Format("tb{0}", i); 9 //根据名称获取相应的控件 10 tb = inputControls.First(x => x.Name == name); 11 Console.WriteLine(tb.Text); 12 }
遍历含有固定名称的多个控件
var tbControls = this.Controls.OfType<TextBox>().Where(p => p.Name.Contains("tb")).ToList();