快速单击时引发的ListView.ItemDrag事件

时间:2014-12-22 15:39:42

标签: vb.net listview drag-and-drop

我在ListView对象上实现了拖放功能。启动一切的事件是ListView.ItemDrag。通常它工作正常,但当我单击我的列表视图真的很快,不时引发ListView.ItemDrag事件。
有人为什么以及如何防止它被解雇?

1 个答案:

答案 0 :(得分:0)

无论移动最多,鼠标是否发送错误数据,或者存在使Windows认为鼠标移动的时间错误,vb.net认为鼠标在点击期间移动,从而创建拖动事件。您可以忽略ItemDrag处理程序中的事件。

如果问题是Item Drag事件正在替换click事件,则可以使用MouseDown事件而不是Click事件。 MouseDown将在Item Drag事件之前触发,但如果存在Item Drag事件,则不会触发MouseClick。但是,如果使用双击处理程序,这可能会导致问题。

另一种方法是将Item Drag事件视为Click事件,为两个事件调用相同的函数。当然,这假设用户无法从列表视图中拖动项目。