gpt4 book ai didi

c# - Numericupdown 鼠标滚轮事件将 decimal 增加多于一个增量

转载 作者:太空狗 更新时间:2023-10-29 18:08:48 26 4
gpt4 key购买 nike

我试图覆盖鼠标滚轮控件,这样当鼠标滚轮向上或向下移动时,它只会将 numericupdown 字段中的值增加 1。我相信它当前正在使用控制面板中存储的内容并增加/每次将值减少 3。

我正在使用以下代码。即使当 numberOfTextLinesToMove 仅为 1 并且我看到 txtPrice.Value 正在按预期填充时,其他内容正在覆盖它,因为我设置的值不是 numericupdown 框中显示的值

void txtPrice_MouseWheel(object sender, MouseEventArgs e)
{
int numberOfTextLinesToMove = e.Delta / 120;
if (numberOfTextLinesToMove > 0)
{
txtPrice.Value = txtPrice.Value + (txtPrice.Increment * numberOfTextLinesToMove);
}
else
{

txtPrice.Value = txtPrice.Value - (txtPrice.Increment * numberOfTextLinesToMove);
}

}

最佳答案

我最近遇到了这个问题,通过改变增量解决了这个问题。

numericUpDown1.Increment = 1m / SystemInformation.MouseWheelScrollLines;

编辑:如果您只想使用鼠标滚轮来更改值,这只是一个很好的解决方案。要针对所有情况解决此问题,您必须重写该类。这是一个简单的版本。

public class NumericUpDownFix : System.Windows.Forms.NumericUpDown
{
protected override void OnMouseWheel(MouseEventArgs e)
{
HandledMouseEventArgs hme = e as HandledMouseEventArgs;
if (hme != null)
hme.Handled = true;

if (e.Delta > 0)
this.Value += this.Increment;
else if (e.Delta < 0)
this.Value -= this.Increment;
}
}

关于c# - Numericupdown 鼠标滚轮事件将 decimal 增加多于一个增量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5226688/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com