嗨我想完成的是 當我將控件的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。 –