Перебирать текстовые поля по порядку по имени внутри элемента управления вкладкой - PullRequest
3 голосов
/ 14 июля 2010

У меня есть куча текстовых полей, около 150, если быть точным. Они находятся внутри разных вкладок элемента управления вкладками и расположены не по порядку названий на экране. Они называются просто textBox1, textBox2, textBox3 ... Я хотел бы иметь возможность перебирать их по порядку по имени, а не по тому, как они появляются в форме. Как бы я справился с этим?

1 Ответ

5 голосов
/ 14 июля 2010
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();
...