繁体   English   中英

我如何在Winforms中预备所有按钮(许多组框)

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM