如何实现同一控件的单击和拖动
本文关键字:控件 单击 拖动 何实现 实现 | 更新日期: 2023-09-27 18:07:10
我有一个控件,我希望用户可以选择单击它或拖动它。像windows资源管理器中的文件。
我知道如何拖动。我不知道一个简单的方法来让点击"开火",因为开始在鼠标向下拖动会阻止它。
是否有简单的方法来做到这一点?
谢谢。
我建议您实现某种类型的可见拖拽句柄,以允许他们抓取和移动控件。如果鼠标停留在控件上超过200毫秒或者类似的情况
你应该搜索关于如何拖动和移动控件的示例,我实际上很久以前(大约11年前)在Delphi中做过,它都是关于鼠标坐标和在mouseDown和mouseUp上设置的标志。
我在这里找到了一些东西:http://www.codeproject.com/KB/dialog/MoveYourControls.aspx可能是。net解决方案的灵感来源
我从来没有这样做过,但是你可以…
对于单击,当触发mousedown事件时,获取控件的当前位置。然后在mouseup时,检查当前位置是否等于mousedown时的位置。如果它们相等(或接近于给意外移动一些容忍度),那么它的目的是点击。如果差异很大,那就是拖动,你可以做任何你想做的