我有一个控件,我希望用户可以选择单击它,或拖动它。与Windows资源管理器中的文件类似。
我知道怎么拖。我不知道点击“火”的简单方法,因为在mousedown上开始拖动会阻止它。
有一种简单的方法吗?
感谢。
答案 0 :(得分:1)
我建议您实现某种类型的可见拖动句柄,这样可以让它们抓取并移动控件。也许如果它们悬停在控件上超过200毫秒或类似的东西。
答案 1 :(得分:0)
你应该搜索关于如何拖动和移动控件的示例,我实际上是在Delphi looong前(大约11年前)完成的,它完全是关于在mouseDown和mouseUp上设置的鼠标坐标和标志。
我在这里找到了一些东西:http://www.codeproject.com/KB/dialog/MoveYourControls.aspx可能是.NET解决方案的灵感来源
答案 2 :(得分:0)
我从来没有这样做但你可以......
对于单击,当mousedown事件触发时,获取控件的当前位置。然后在mouseup上,检查当前位置是否等于mousedown的位置。如果它们相等(或接近对偶然移动给予一定的容忍度),则意图是点击。如果差异很大,那就是拖累,你可以做任何你需要做的事情。