【发布时间】:2012-06-11 13:12:36
【问题描述】:
我需要确定 NumericUpDown 控件的值是否被 mouseUp 事件更改。
当 numericupdown 的值发生变化时,我需要调用一个昂贵的函数。我不能只使用“ValueChanged”,我需要使用 MouseUp 和 KeyUp 事件。
基本上,我需要知道:
当用户放手时 numericUpDown 的值是否发生了变化 老鼠? 如果单击任何未以红色突出显示的区域,则 答案是否定的。我需要在任何地方但点击红色区域时忽略鼠标向上事件。
如何通过代码确定这一点?我觉得事件有点混乱。
【问题讨论】:
-
"我不能只使用 "ValueChanged",我需要使用 MouseUp 和 KeyUp 事件。" - 为什么?
-
"如果点击了任何没有以红色突出显示的区域,答案是否定的" WHAT?考虑到我们不知道您的程序做什么或应该做什么,您可能想重新陈述您的问题。红色适合在哪里?你通常如何让你的 numericupdown 改变?
-
@TomW 我说,我需要调用一个耗费大量时间的昂贵的 3D 渲染函数。如果我每次调用它,值都会发生变化,这会导致 UI 非常滞后。我已经使用带计时器的 ValueChanged 来尝试解决这个问题,但是当用户放开鼠标时,我只是希望它立即再次渲染。
-
当用户“放开鼠标”点击某物时,鼠标在做什么?
-
@K'Leg 试试这个:获取 NumericUpDown 控件。每次值更改时都打印“ValueChanged”。单击并按住向上/向下箭头。它被调用了多少次?大概每秒30次以上。这是我无法接受的。但是,当用户放开鼠标(MouseUp)时,我需要它再次渲染。不过,我应该只重新渲染 - 如果这个数字 up down 的值发生了变化。