我想覆盖OnMouseClick和OnMouseDoubleClick,并根据使用的单击样式执行不同的操作.
问题是OnMouseClick正在发生单击和双击,并且在OnMouseDoubleClick之前被调用.
我确信这一定是一个常见的要求,所以我想我错过了一些非常明显的东西.有人能填补我吗?
编辑添加:MouseEventArgs.Clicks计数没有帮助.如果是双击,则第一次单击将在OnMouseClick中单击一次,并使用MouseEventArgs.Clicks == 1.
编辑添加:对象是图像缩略图.单击即可打开和关闭选择以进行导出.双击应使缩略图全屏.选择和"激活"动作是正交的.这可能表明这两个行动存在潜在问题......
干杯,罗布
这种情况发生在整个Windows 我不认为他们在.Net中添加任何特殊处理它.
处理这个问题的正常方法是
a)在双击之前单击一下你想要发生的事情,比如选择.
b)如果那不是一个选项,那么在点击事件上,启动一个计时器.在计时器刻度上,执行单击操作.如果首先发生双击事件,请终止计时器,然后执行双击操作.
您设置时间的时间应该等于系统的双击时间(用户可以在控制面板中指定).它可以从System.Windows.Forms.SystemInformation.DoubleClickTime获得.完整的详细信息在MSDN中,这里