我在ListView对象上实现了拖放功能。启动一切的事件是ListView.ItemDrag。通常它工作正常,但当我单击我的列表视图真的很快,不时引发ListView.ItemDrag事件。
有人为什么以及如何防止它被解雇?
答案 0 :(得分:0)
无论移动最多,鼠标是否发送错误数据,或者存在使Windows认为鼠标移动的时间错误,vb.net认为鼠标在点击期间移动,从而创建拖动事件。您可以忽略ItemDrag处理程序中的事件。
如果问题是Item Drag事件正在替换click事件,则可以使用MouseDown事件而不是Click事件。 MouseDown将在Item Drag事件之前触发,但如果存在Item Drag事件,则不会触发MouseClick。但是,如果使用双击处理程序,这可能会导致问题。
另一种方法是将Item Drag事件视为Click事件,为两个事件调用相同的函数。当然,这假设用户无法从列表视图中拖动项目。