繁体   English   中英

WinForms 和 C#:如何禁用组框中的按钮?

[英]WinForms and C#: How to disable buttons in a groupbox?

我的目标是禁用 groupbox1 中的所有按钮(1 和 2)(见最后的图片)。 当我调用以下方法 DisableAllButtons() 时,只有按钮 3 被禁用。 我究竟做错了什么?

    private void DisableAllButtons()
    {
        try
        {
            foreach (Control c in Controls)
            {
                Button button = (Button)c;
                button.Enabled = false;
            }
        }
        catch
        {
        }
    }

示例 WinForm

这是因为您在循环中使用了Controls 因此,您正在调用表单上的所有控件,即Button3 ,而不是 GroupBox 中的控件。

为此,您可以这样做。

public void DisableButton()
{
        List<Button> btn = groupBox1.Controls.OfType<Button>().ToList();
        foreach (var b in btn)
        {
            b.Enabled = false;
        }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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