嗨我想完成的是 当我将控件的visible属性更改为false时,我也想将enabled属性更改为false。反之亦然。将控件设置为启用false如果它们不可见
的情景(假设我们有一个文本框和复选框此: 如果复选框被选中文本框是可见的并启用 其他 文本框是不可见的,而不是启用
我可以通过事件做到这一点但它太多的代码重复有多个控件时..
嗨我想完成的是 当我将控件的visible属性更改为false时,我也想将enabled属性更改为false。反之亦然。将控件设置为启用false如果它们不可见
的情景(假设我们有一个文本框和复选框此: 如果复选框被选中文本框是可见的并启用 其他 文本框是不可见的,而不是启用
我可以通过事件做到这一点但它太多的代码重复有多个控件时..
你可以处理控件的VisibleChanged
-event:
void Controls_VisibleChanged(object sender, EventArgs e)
{
Control c = (Control) sender;
c.Enabled = c.Visible;
}
您CA对所有控件使用相同的事件处理程序。例如在构造函数中:
foreach (Control c in this.Controls)
c.VisibleChanged += new EventHandler(this.Controls_VisibleChanged);
我无法理解你的问题,但我会写一些可能有所帮助的东西。
你的复选框,双击并编辑CheckedChanged
事件和编写代码:
if (!<CheckBoxName>.Checked)
{
<TextBoxName>.Enabled = false;
<TextBoxName>.Hide();
}
else
{
<TextBoxName>.Enabled = true;
<TextBoxName>.Show();
}
注:
<CheckBoxName>
=您的复选框的名字
<TextBoxName>
=您的文本框的名字
更改复选框。检查属性并将其更改为true
以使代码平稳运行。
我希望能够帮助你...
启动时通过控件循环,并将相同的VisibilityChanged钩子添加到每个控件,该控件的启用设置为false或true。 –