当我禁用Numeric UpDown控件时,我希望该用户仍然可以读取其值。但我无法更改该工具的前景色或背景色。我尝试使用 ReadOnly 属性而不是 Enabled/Disabled 属性,但它也不起作用。我怎么解决这个问题?
问问题
880 次
2 回答
1
我刚刚尝试通过 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 类并将其放入其中,它将适用于您的应用程序中使用的您的类的所有实例,而无需在每个表单中显式地进行此颜色更改。
于 2012-03-20T16:38:15.090 回答
0
使用框架控制无法实现这一目标。您可以使用自定义绘制来实现它。
于 2012-03-20T16:36:59.310 回答