如何更改禁用的数字更新的前向色/后向色

本文关键字:数字 何更改 更新 | 更新日期: 2023-09-27 18:28:28

当我禁用Numeric UpDown控件时,我希望用户仍然可以读取其值。但我无法更改该工具的前景色或背景色。我尝试使用ReadOnly属性而不是Enabled/Disabled属性,但它也不起作用。我该如何解决这个问题?

如何更改禁用的数字更新的前向色/后向色

我刚刚尝试过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类,并将其放入其中,则它将适用于应用程序中使用的所有类实例,而无需在每个表单中显式更改颜色。

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