Winforms:如何绑定接受MouseButtonEventArgs的事件处理程序?
我的表单包含一个UserControl,目前我有一个MouseDown事件处理程序,它与MouseEventArgs一起工作。但是,我希望得到一个带有MouseButtonEventArgs的事件处理程序,这样我就可以访问ClickScont属性来区分简单单击和双击。目前,我在StackOverflow上发现了一些代码,可以通过双击时间来了解单击了多少次,但这会导致重画延迟,因此它对用户不友好。重画本身很快 UserControl显示背景图像和从用户单击中绘制的小图像 那么,如何将事件绑定到接受MouseButtonEventArgs事件的事件处理程序?在UserControl或父窗体上的MouseDown只像MouseEventArgs 我在这个项目中使用纯Winforms,而不是WPF 谢谢你帮我找到了 那么,如何将事件绑定到接受MouseButtonEventArgs事件的事件处理程序?在UserControl或父窗体上的MouseDown只像MouseEventArgs 你不能Winforms:如何绑定接受MouseButtonEventArgs的事件处理程序?,winforms,mouseevent,Winforms,Mouseevent,我的表单包含一个UserControl,目前我有一个MouseDown事件处理程序,它与MouseEventArgs一起工作。但是,我希望得到一个带有MouseButtonEventArgs的事件处理程序,这样我就可以访问ClickScont属性来区分简单单击和双击。目前,我在StackOverflow上发现了一些代码,可以通过双击时间来了解单击了多少次,但这会导致重画延迟,因此它对用户不友好。重画本身很快 UserControl显示背景图像和从用户单击中绘制的小图像 那么,如何将事件绑定到接受
MouseButtonEventArgs
用于WPF。WinForms使用MouseEventArgs
如果您想捕获双击,您应该处理
目前,我在StackOverflow上发现了一些代码,这些代码通过双击时间来了解单击了多少次,但这会导致重画延迟
这是知道单击事件是双击的唯一方法。判断差异的唯一方法是等待系统指定的双击间隔。如果在该时间内再次单击,则应将其解释为双击。如果没有第二次单击,或者发生在该时间范围之外,则应将原始单击解释为一次单击
如果您不希望操作延迟,则需要对单次单击作出反应。好的,因此我认为我将放弃单次单击和双击处理,而只放弃单次单击。很高兴了解Winforms比WPF更有限:-(这不是任何一个框架的限制,而是Windows操作系统的限制。两个框架都在做相同的事情,WPF只是对您隐藏代码。您可以自己编写代码,使用
MouseButtonEventArgs
引发事件。只需在Click
事件处理程序中将ClickCount
设置为1,然后设置2在中双击事件处理程序。@barbara