您好我想要完成的是 当我将控件的visible属性更改为false时,我还想将enabled属性更改为false。反之亦然。
场景是(假设我们有一个文本框和复选框: 如果选中该复选框,则文本框可见并启用 其他 文本框不可见且未启用
我可以通过事件来做到这一点,但是当有多个控件时,重复的代码太多了。
答案 0 :(得分:1)
您可以处理控件的VisibleChanged
-event:
void Controls_VisibleChanged(object sender, EventArgs e)
{
Control c = (Control) sender;
c.Enabled = c.Visible;
}
您可以对所有控件使用相同的事件处理程序。例如,在构造函数中:
foreach (Control c in this.Controls)
c.VisibleChanged += new EventHandler(this.Controls_VisibleChanged);
答案 1 :(得分:0)
我无法理解你的问题,但我会写一些可能有用的东西。
双击您的复选框并编辑CheckedChanged
事件并编写代码:
if (!<CheckBoxName>.Checked)
{
<TextBoxName>.Enabled = false;
<TextBoxName>.Hide();
}
else
{
<TextBoxName>.Enabled = true;
<TextBoxName>.Show();
}
注意:
<CheckBoxName>
=您的复选框名称
<TextBoxName>
=您的TextBox名称
更改CheckBox.Checked属性并将其更改为true
以使代码顺利运行。
我希望能帮到你...