我有一堆文本框,大约150个 . 它们位于选项卡控件的不同选项卡内,并且不按屏幕上的名称排序 . 它们只是简单地命名为textBox1,textBox2,textBox3 ......我希望能够按名称顺序迭代它们,而不是它们在表单上的显示方式 . 我怎么会这样做?
public IEnumerable<Control> GetChildrenRecursive(Control parent) { var controls = new List<Control>(); foreach(Control child in parent.Controls) controls.AddRange(GetChildrenRecursive(child)); controls.Add(parent); //fix return controls; } TextBox[] textboxes = GetChildrenRecursive(this) .OfType<TextBox>().OrderBy(i => i.Name).ToArray();
1 回答