如何更改禁用的数字更新的前景色/背景色?

时间:2012-03-20 16:23:21

标签: c# numericupdown

当我禁用 Numeric UpDown 控件时,我希望该用户仍然可以读取其值。但我不能改变该工具的Forecolor或Backcolor。我尝试使用ReadOnly属性而不是Enabled / Disabled属性,但它也不起作用。我怎么解决这个问题?

2 个答案:

答案 0 :(得分:0)

使用框架工作控件无法实现此目标。 您可以使用自定义绘图来实现它。

答案 1 :(得分: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类并将其放在该类中,它将适用于您的应用程序中使用的所有类的实例,而不会在每种形式中明确地更改此颜色。