我在三个groupbox(groupbox1等)中有6个按钮。全部为form1 而且我尝试启用所有功能。.但是什么也没发生
foreach(var cmd in this.Controls.OfType<Button>())
{
cmd.Enabled = true;
}
这是正确的解决方案吗?
foreach(var gb in this.Controls.OfType<GroupBox>())
{
foreach (var cmd in gb.Controls.OfType<Button>())
{
cmd.Enabled = true;
}
}
答案 0 :(得分:3)
您必须访问每个Controls
中的GroupBox
属性,才能获得所需的Button
实例。
您提出的解决方案确实有效,但是您可以使用LINQ的SelectMany
将此链接代替:
foreach (var button in Controls.OfType<GroupBox>()
.SelectMany(groupBox => groupBox.Controls.OfType<Button>()))
{
button.Enabled = true;
}