启用窗体 在 Windows 窗体 C# 中,启用在我更改它时不会更改


        private void DisableControls(Control control)
        {
            foreach (Control con in control.Controls)
            {
                DisableControls(con);
            }
            control.Enabled = false;
        }
        private void EnableControls(Control control)
        {
            if (control != null)
            {
                control.Enabled = true;
                EnableControls(control.Parent);
            }
        }

由于某种原因,控件启用根本不会更改。我不明白为什么:(,我愿意接受任何建议而不是启用控件功能。感谢您的帮助:)

好吧,你有一个逻辑问题,看看你在做什么:

  • 采用一个控件 = Ctrl1
  • 禁用父级是 Ctrl1 的任何控件
  • 禁用 Ctrl1

所以。。。

  • 取一个控件 = Ctrl2
  • 启用 Ctrl2
  • 启用 Ctrl2 的父项和父项
  • 的父项

你看?你只是重新启用父母,而不是"兄弟控制"。因此,您只需要接收一个父项,将启用设置为 true,并将所有 chields 设置为 true。

最新更新