[英]How can i foreach all buttons in winforms (many groupboxes)
我在三个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;
}
}
您必须访问每个GroupBox
中的Controls
属性才能获取所需的Button
实例。
您提出的解决方案确实有效,但是您可以使用LINQ的SelectMany
将此链接代替:
foreach (var button in Controls.OfType<GroupBox>()
.SelectMany(groupBox => groupBox.Controls.OfType<Button>()))
{
button.Enabled = true;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.