当我禁用 Numeric UpDown 控件时,我希望该用户仍然可以读取其值。但我不能改变该工具的Forecolor或Backcolor。我尝试使用ReadOnly属性而不是Enabled / Disabled属性,但它也不起作用。我怎么解决这个问题?
答案 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类并将其放在该类中,它将适用于您的应用程序中使用的所有类的实例,而不会在每种形式中明确地更改此颜色。