【发布时间】:2011-04-14 06:07:20
【问题描述】:
我正在使用 WPF 和 VB.net 的项目。我想直观地模拟“拖动”一个对象(尽管出于目的我不想使用标准拖放)。
基本上,我有一个标签对象,在它的 MouseDown 事件中,我希望它在 640x480 纯尺寸网格内跟随鼠标光标(但不在它之外!)。请注意,此网格位于全屏窗口的中心。同样,对象不应跟随网格外的鼠标(我在这里猜测“ClipToBounds = True”)
然后,在标签的 MouseUp 事件中,我希望它保持在当前位置或返回其原始位置,这由另一个对象的 MouseEnter 属性设置的布尔变量的值决定。
注意,如果使用起来更容易,我可以轻松地将网格更改为画布。我猜这将是可取的。
所以,在冗长的解释之后,这是我的问题(双重):
如何使对象(标签)在网格/画布内跟随鼠标光标,但不在其外部?这需要在标签的 MouseDown 事件上发生。
如何使对象“粘”在其当前位置? (由此,我大概可以自己弄清楚如何让它回到原来的位置。:D)
我赞成任何可以帮助我最有效地实现这一目标的人!非常感谢大家。
【问题讨论】:
标签: wpf vb.net cursor-position onmousedown onmouseup