我正在寻找一种用户控件,其中鼠标移动输入可以通过比例因子进行细化。行为是这样的:在控件外部时,鼠标的移动是正常的,但是在控件内部,鼠标提供的任何位置增量都被除以10,并且光标在该方向上的移动速度要慢得多,甚至在方向上也要慢得多亚像素级。行为可能取决于按键被按下。
解决方案将需要:
- 捕获鼠标移动输入,
- 取消任何正常处理,
- 测量鼠标报告的x和y的距离,这些距离通常只是被添加到指针坐标中,
- 存储精确的新浮点坐标,然后
- 理想地隐藏指针,
- 以亚像素坐标重绘指针,然后
- 将近似整数坐标报告回操作系统,以便它知道指针何时可能离开控件。
我注意到的事情是Console.Writeline()
似乎会干扰Cursor.Position
,这表明发布的光标值也包含文本光标坐标。到目前为止,这使我的解决方案变得复杂。总的来说,我认为为时已晚,无法以我希望的方式接受鼠标并接受解决方案,这可能需要更深的Windows调用。