0
我有一個包含許多控件的窗體。在列表中有一個字段,應該禁用所有其他控件以防止任何進一步的用戶操作。同時在多個字段上額外禁用屬性
您是否知道是否有這種簡單的方法?想不要在所有字段上逐一添加相同的禁用條件(在自己的啓用邏輯之上)?
我有一個包含許多控件的窗體。在列表中有一個字段,應該禁用所有其他控件以防止任何進一步的用戶操作。同時在多個字段上額外禁用屬性
您是否知道是否有這種簡單的方法?想不要在所有字段上逐一添加相同的禁用條件(在自己的啓用邏輯之上)?
如果沒有代碼示例(不必介意a good, minimal, complete one),無法提供具體的建議。但是,您可以枚舉表單中的所有控件,當然,您也可以將Enabled
標誌設置爲false
。
這可能是這個樣子:
void SetEnabledForAllControls(ControlCollection controls, bool value)
{
foreach (Control control in controls)
{
control.Enabled = value;
SetEnabledForAllControls(control.Controls, value);
}
}
您可以通過傳遞Form.Controls
價值的形式爲controls
參數,而新的值(true
或false
)稱其爲每個Enabled
財產控制作爲第二個參數。
這不是從你的問題是什麼field that should disable all other controls
是明確的,但如果這是一個控制自身相同的形式,你要記住調用上述方法之後其Enabled
屬性設置回true
,否則」我們也會被禁用。
謝謝!正是我在找什麼。將盡力實現這一點 – goul 2015-03-13 07:40:47