我想重写 OnMouseClick 和 OnMouseDoubleClick 并根据使用的单击样式执行不同的操作。
问题是单击和双击都会发生 OnMouseClick,并且在 OnMouseDoubleClick 之前被调用。
我确信这一定是一个常见的要求,所以我想我错过了一些非常明显的东西。有人可以帮我补一下吗?
编辑添加:MouseEventArgs.Clicks 计数没有帮助。在双击的情况下,第一次单击将在 OnMouseClick 中处理为单击,且 MouseEventArgs.Clicks == 1。
编辑添加:对象是图像缩略图。单击即可打开和关闭选择以进行导出。双击应该使缩略图全屏显示。选择和“激活”动作是正交的。这可能表明这两个操作存在根本问题......
干杯,
抢
这种情况在整个 Windows 中都会发生。我认为他们没有添加任何特殊的东西来在.Net 中处理它。
处理这个问题的正常方法是
- a) 只需单击一下即可
你希望在双倍之前发生
单击,如选择。
- b) 如果这不是一个选项,则在单击事件上启动计时器。在计时器滴答时,执行单击操作。如果双击事件先发生,则终止计时器,然后执行双击操作。
您设置的时间量应等于系统的双击时间(用户可以在控制面板中指定)。它可以从 System.Windows.Forms.SystemInformation.DoubleClickTime 获得。完整的详细信息在 MSDN 中,here http://msdn.microsoft.com/en-us/library/ms172533.aspx
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)