如何在自定义UserControl

时间:2018-11-20 17:53:57

标签: .net mouse

我正在寻找一种用户控件,其中鼠标移动输入可以通过比例因子进行细化。行为是这样的:在控件外部时,鼠标的移动是正常的,但是在控件内部,鼠标提供的任何位置增量都被除以10,并且光标在该方向上的移动速度要慢得多,甚至在方向上也要慢得多亚像素级。行为可能取决于按键被按下。

解决方案将需要:

  1. 捕获鼠标移动输入,
  2. 取消任何正常处理,
  3. 测量鼠标报告的x和y的距离,这些距离通常只是被添加到指针坐标中,
  4. 存储精确的新浮点坐标,然后
  5. 理想地隐藏指针,
  6. 以亚像素坐标重绘指针,然后
  7. 将近似整数坐标报告回操作系统,以便它知道指针何时可能离开控件。

我注意到的事情是Console.Writeline()似乎会干扰Cursor.Position,这表明发布的光标值也包含文本光标坐标。到目前为止,这使我的解决方案变得复杂。总的来说,我认为为时已晚,无法以我希望的方式接受鼠标并接受解决方案,这可能需要更深的Windows调用。

0 个答案:

没有答案