2012-03-20 57 views
1

當我禁用數字UpDown控制我希望該用戶仍然可以讀取其值。但我無法更改該工具的Forecolor或Backcolor。我嘗試使用ReadOnly屬性而不是Enabled/Disabled屬性,但它也不起作用。我怎麼解決這個問題?如何更改禁用數字更新的forecolor/backcolor?

+0

什麼不適用於'ReadOnly'屬性? – ken2k 2012-03-20 16:28:28

回答

0

我剛剛嘗試通過VS2005和簡單的WinForms。我把在EnableChanged事件

private void numericUpDown1_EnabledChanged(object sender, EventArgs e) 
{ 
    NumericUpDown nud = (NumericUpDown)sender; 
    nud.BackColor = nud.Enabled ? Color.Yellow : Color.Red; 
} 

,並增加了一個按鈕的形式只是交換其啓用狀態

private void button2_Click(object sender, EventArgs e) 
{ 
    this.numericUpDown1.Enabled = ! this.numericUpDown1.Enabled; 
} 

如果創建從基本的NumericUpDown類派生自己的NumericUpDown類中把它那麼,它將適用於您的應用程序中使用的所有類的實例,而無需在每種形式中明確地更改顏色。

0

無法通過框架控制實現此目標。 您可以使用自定義繪製來實現它。