在选项卡控件内按名称顺序迭代文本框

Pie*_*ces 3 c# iteration textbox tabcontrol

我有一堆文本框,大约150个.它们位于选项卡控件的不同选项卡内,并且不按屏幕上的名称排序.它们只是简单地命名为textBox1,textBox2,textBox3 ......我希望能够按名称顺序迭代它们,而不是它们在表单上的显示方式.我怎么会这样做?

Nag*_*agg 5

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();
Run Code Online (Sandbox Code Playgroud)