请教一下NumericUpDown控件,使用鼠标滚轮时每次只跳动一次要怎么设置

wangxiaolia 2019-01-28 09:55:26
鼠标滚轮是系统设置的默认滚动一次向下或向上翻3行,有没有办法实现让NumericUpDown控件不翻3行而是只翻一行,只改变1
...全文
1283 19 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
货郎大叔 2019-01-30
  • 打赏
  • 举报
回复
在鼠标滚动事件里面进行判断
jeff666555 2019-01-29
  • 打赏
  • 举报
回复
用系统默认的要好些吧
wangxiaolia 2019-01-29
  • 打赏
  • 举报
回复 2
引用 12 楼 大然然 的回复:
不对,还是有bug,我在改一下

你的思路是对的,给你分,事件里面稍微判断一下就好了
private void NumericUpDown1_MouseWheel(object sender, MouseEventArgs e)
{
HandledMouseEventArgs hme = e as HandledMouseEventArgs;
if (hme != null)
{
hme.Handled = true;
}

if (e.Delta > 0)
{
decimal dd = numericUpDown1.Value + numericUpDown1.Increment;
if (dd <= numericUpDown1.Maximum)
{
numericUpDown1.Value = dd;
}
}
else if (e.Delta < 0)
{
decimal dd = numericUpDown1.Value - numericUpDown1.Increment;
if (dd >= numericUpDown1.Minimum)
{
numericUpDown1.Value = dd;
}
}
}
codehy 2019-01-29
  • 打赏
  • 举报
回复
源码发我,看下
灵魂soul 2019-01-29
  • 打赏
  • 举报
回复
更改系统默认设置
  • 打赏
  • 举报
回复
更改系统默认设置容易些
weixin_44629670 2019-01-29
  • 打赏
  • 举报
回复
谢谢分享!!
  • 打赏
  • 举报
回复
在值改变事件里,强制将当前值仅仅+1或者-1。
wangxiaolia 2019-01-28
  • 打赏
  • 举报
回复
引用 1 楼 exception1992 的回复:
更改系统默认设置容易些

实在要实现的话,有可行的思路吗
  • 打赏
  • 举报
回复
更改系统默认设置容易些
大然然 2019-01-28
  • 打赏
  • 举报
回复
不对,还是有bug,我在改一下
大然然 2019-01-28
  • 打赏
  • 举报
回复
numericUpDown1.Increment的值选择默认值 1,

也就是取消 numericUpDown1.Increment = 1m / SystemInformation.MouseWheelScrollLines;
大然然 2019-01-28
  • 打赏
  • 举报
回复

如果可以的话,结分给我,么么哒
wangxiaolia 2019-01-28
  • 打赏
  • 举报
回复
引用 7 楼 大然然 的回复:
[quote=引用 3 楼 exception1992 的回复:]
在值改变事件里,强制将当前值仅仅+1或者-1。

构造函数里加一句 numericUpDown1.Increment = 1m / SystemInformation.MouseWheelScrollLines; 即可[/quote]
那这样的话手动点击箭头,要3次才能+1了,有办法同时保证点箭头也能+1吗
大然然 2019-01-28
  • 打赏
  • 举报
回复
回复错了,在窗体load方法里加一句
numericUpDown1.Increment = 1m / SystemInformation.MouseWheelScrollLines; 就可以了,
把分结给我!
大然然 2019-01-28
  • 打赏
  • 举报
回复
引用 3 楼 exception1992 的回复:
在值改变事件里,强制将当前值仅仅+1或者-1。

构造函数里加一句 numericUpDown1.Increment = 1m / SystemInformation.MouseWheelScrollLines; 即可
wangxiaolia 2019-01-28
  • 打赏
  • 举报
回复
引用 4 楼 平底锅锅锅 的回复:
在相应的事件里,加减,改为3

没懂你的意思,我是想滚轮只+1或-1,并且不修改系统设置,随便系统滚动几行
wangxiaolia 2019-01-28
  • 打赏
  • 举报
回复
引用 3 楼 exception1992 的回复:
在值改变事件里,强制将当前值仅仅+1或者-1。

其实滚轮滚一下,valuechanged会触发3次,每次+1
平底锅锅锅 2019-01-28
  • 打赏
  • 举报
回复
在相应的事件里,加减,改为3

111,097

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧