gpt4 book ai didi

c# - 即使光标不受控制也能接收鼠标移动

转载 作者:太空宇宙 更新时间:2023-11-03 11:10:39 25 4
gpt4 key购买 nike

我在 Control 中做了类似滚动条的操作。一切正常,但是当光标离开控制区域时,不再接收到 OnMouseMove

当您使用标准窗口滚动条时,即使鼠标光标位于控件表面之外,您也可以使用它。

为了避免这种情况,我唯一的想法是从屏幕上获取光标位置,然后计算滚动条在屏幕上的位置,并使用计时器或其他东西来更新我的 Control。但是听起来很硬很丑。

知道如何解决吗?

编辑:我的意思是 Control 而不是 UserControl

编辑2:它接收鼠标!我在代码中有错误,我在 MouseMove 方法中调用了 MouseDown,但在 MouseDown 中我有 X/Y 约束,如果 X<0 等将强制返回。

最佳答案

您正在寻找的是mouse capture,描述如下:

http://msdn.microsoft.com/en-us/library/ms171545(v=vs.80).aspx

简而言之:

  • 在您的控件中按下鼠标,您将“捕获”鼠标输入
  • 那么只要没有其他人捕获鼠标,您就会收到所有鼠标移动事件,即使是您无法控制的事件
  • 如果您不再需要数据,可以选择在“OnMouseUp”中释放捕获

关于c# - 即使光标不受控制也能接收鼠标移动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14191219/

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