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。