【发布时间】:2015-07-29 11:42:22
【问题描述】:
我的应用程序中有一个包含子控件的组框。(如所附图片所示)。我想枚举所有文本框以使用简单的 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)来获取所有控件,包括位于面板内的文本框。
【问题讨论】: