Winforms 如何将NumericUpDown设置为只读

Winforms 如何将NumericUpDown设置为只读,winforms,readonly,mousewheel,numericupdown,Winforms,Readonly,Mousewheel,Numericupdown,我想使WinForms NumericUpDown控件不可编辑,或者至少应禁用自旋控件。我尝试将控件设置为只读,但使用鼠标滚动的值正在更改。请帮助我实现这一点。尝试以下操作以将数字向上/向下设置为只读: numericUpDown1.ReadOnly = true; numericUpDown1.Increment = 0; 我希望它能有所帮助。另一种选择是将NumericUpDown子类化,并覆盖DownButton和UpButton方法,以便在设置ReadOnly时提前返回: pu

我想使WinForms NumericUpDown控件不可编辑,或者至少应禁用自旋控件。我尝试将控件设置为只读,但使用鼠标滚动的值正在更改。请帮助我实现这一点。

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

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

我希望它能有所帮助。

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

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

   base.DownButton();
}

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

   base.UpButton();
}
这似乎还可以防止上/下箭头按下和鼠标滚动更改值

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