none
c#中如何处理鼠标左右键同时按下事件? RRS feed

全部回复

  • Hi,

    欢迎在MSDN论坛发帖。

    据我对C#中的鼠标事件处理情况,.NET 会把当前的鼠标状态,鼠标指针的位置,哪一个鼠标按钮被按下,这些信息都会被处理,放在 MouseEventArgs 中。哪些鼠标按键被按下,执行事件处理函数,这是有一定的顺序的,并且C#在winform 上面,好像没有提供左右鼠标按钮同时按下的这种类型。

    它提供的鼠标类型可以看这个文档。

    https://docs.microsoft.com/en-us/dotnet/framework/winforms/how-mouse-input-works-in-windows-forms

    如果你想知道左右鼠标按下,是什么情况,你可以我上面说过的  MouseEventArgs 类型。

    Best Regards,

    Hart


    MSDN Community Support Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    2018年3月19日 6:43
    版主
  • 的确没有这个事件直接可以用。

    不过你可以自己利用系统提供的鼠标点击事件来扩展一个,可以判断左右键按下的间隔小于多少时间就触发这个同时按下的事件,然后订阅它。


    family as water

    2018年3月23日 1:38
  • 你好,理论上,Stone Z先生的答案不失为一种解决方案,我粗粗写了一段代码,发现好像解决了问题。实际上,该方案中,左右键同击事件由两次mouse down 触发,如果左右键还有单击事件处理,这样还需要一些执行代码时间,这个时间间隔就不好确定。这个问题如何解决,希望老师指点。
    2018年4月2日 11:55