如何制作NumericUpDown ReadOnly

时间:2015-02-20 04:00:50

标签: winforms readonly mousewheel numericupdown

我想使数字更新控件不可编辑,或者至少应该在Winforms中禁用旋转控件。我尝试设置控件只读,但使用鼠标滚动值正在改变。请帮我实现这个

2 个答案:

答案 0 :(得分:10)

请尝试以下操作以将数字上/下设置为只读:

numericUpDown1.ReadOnly = true;    
numericUpDown1.Increment = 0;

我希望它有所帮助。

答案 1 :(得分:5)

另一种选择是子类NumericUpDown并覆盖DownButtonUpButton方法,以便在ReadOnly设置时提前返回:

public override void DownButton()
{
   if(this.ReadOnly)
      return;

   base.DownButton();
}

public override void UpButton()
{
   if(this.ReadOnly)
      return;

   base.UpButton();
}

这似乎也可以防止向上/向下箭头按下和鼠标滚动更改值。

这种方法的好处是,您现在可以绑定控件上的ReadOnly属性,并期望它将值设置为只读而不仅仅是文本区域。