0

我的表单包含一个 UserControl,现在我有一个 MouseDown 事件处理程序,它与 MouseEventArgs 一起工作。但是,我想获得一个带有 MouseButtonEventArgs 的事件处理程序,以便我可以访问 ClicksCount 属性来区分简单单击和双击。现在,我在 StackOverflow 上找到了一些代码,这些代码可以让双击时间流逝以了解单击了多少次,但这会导致重绘被延迟,因此它对用户不友好。重绘本身很快。

UserControl 显示背景图像和从用户单击中绘制的小图像。

那么如何将事件绑定到接受 MouseButtonEventArgs 事件的事件处理程序?MouseDown,无论是在 UserControl 还是父窗体上,都只喜欢 MouseEventArgs。

我在这个项目中使用纯 Winforms,而不是 WPF。

谢谢你帮我找。

4

1 回答 1

0

那么如何将事件绑定到接受 MouseButtonEventArgs 事件的事件处理程序?MouseDown,无论是在 UserControl 还是父窗体上,都只喜欢 MouseEventArgs。

你不能。MouseButtonEventArgs用于 WPF。WinForms 使用MouseEventArgs.

如果你想捕捉双击,你应该处理DoubleClick事件

现在我在 StackOverflow 上找到了一些代码,这些代码可以通过双击时间来了解点击了多少次,但这会导致重绘被延迟

这是知道单击事件是双击的唯一方法。唯一能区分的方法是等待系统指定的双击间隔。如果在此时间内发生第二次单击,则应将其解释为双击。如果没有第二次点击,或者它发生在该时间范围之外,则原始点击应被解释为单次点击。

如果您不希望操作被延迟,则需要对单击做出反应。

于 2013-08-09T08:35:43.267 回答