2012-07-13 39 views
0

我正在創建一個Windows窗體應用程序,並且正在創建只讀版本的表單和用於添加/修改信息的相同表單的另一版本。在只讀版本中,我設置了表單,以便所有表單組件都是隻讀的。默認情況下,在Visual Studio 2008中,當禁用表單組件時,該組件的BackColor屬性將更改爲灰色(ish)顏色。這可以通過在組件的BackColor屬性被禁用後簡單地糾正;但是,ComboBox或CheckBox不是這種情況。一旦這些組件被禁用,我無法修改它們的顏色。有沒有人知道如何改變這些組件在被禁用後的顏色?我試過下面的代碼,但無濟於事。更改禁用組合框和複選框的BackColor

comboBoxCategory.Enabled = false; 
comboBoxCategory.BackColor = Color.White; 

任何幫助將不勝感激。

謝謝。

回答

0

你不能。

對於複選框,只需處理OnCheck事件並將其撤銷即可。

組合框最簡單的解決方案是隻填充一個項目。如果用戶點擊,讓用戶下拉,但沒有任何可以改變的地方。

0

我不相信你可以用這些開箱即用的控件來做到這一點。您可能需要擴展組合框並重寫OnPaint()方法。

您也可以啓用組合框,存儲選定值(更改爲只讀模式時)並使用SelectedIndexChanged事件來維護選擇。

我相信同樣將需要的複選框來完成,但使用CheckChanged事件

0

更改組合框的背景色和CheckBox您通過代碼禁用後立即

他們不是事件這將觸發這些控件,當他們得到禁用或啓用

0

我想這就是你要找的人:

comboBoxCategory.BackColor = System.Drawing.Color.White;