У меня есть групповой ящик в моем приложении, который содержит дочерние элементы управления. (Как видно на рисунке прикрепленного файла). Я хочу перечислить все текстовые поля для выполнения некоторой проверки, используя простой цикл foreach.
В этом документе будет дано четкое представление о жилье органов управления.
foreach (Control control in grpBxTargetSensitivity.Controls)
{
if (control is FlowLayoutPanel && control.HasChildren)
{
foreach (Control ctrl in control.Controls)
{
if (ctrl is Panel && ctrl.HasChildren)
{
foreach (Control tbox in ctrl.Controls)
{
if (tbox is TextBox)
{
TextBox textbox = tbox as TextBox;
validData &= !string.IsNullOrWhiteSpace(textbox.Text);
}
}
}
}
}
}
Мой вопрос: есть ли лучший способ (возможно, через LINQ) получить все элементы управления, включая текстовые поля, размещенные внутри панелей, чем вышеупомянутый метод.?