none
C# WinForm中如何捕捉双击某个键的事件呢? RRS feed

  • 问题

  • 比如我双击Ctrl,界面就显示出来,再双击就隐藏,跟谷歌桌面那个一样,使用Alt或者Shift或者Ctrl+其他键的热键方式我已经实现了,只是双击Ctrl这种方式还没有实现,或者说还没找到好的实现方式,垃圾的有,就不拿出来献丑了。
    2010年9月7日 6:33

答案

  • 使用KeyPress或者API事件,注意

    临时的解决方案:

    1、先记录按下 Ctrl 的时间;
    2、捕捉到按下 Ctrl 键时,再与Ctrl的时间比较,如果小于等于1秒,就说明是同时按下了两键。

    • 已标记为答案 刘鸿宇 2010年10月8日 3:00
    2010年9月8日 2:49
    版主

全部回复

  • 使用KeyPress或者API事件,注意

    临时的解决方案:

    1、先记录按下 Ctrl 的时间;
    2、捕捉到按下 Ctrl 键时,再与Ctrl的时间比较,如果小于等于1秒,就说明是同时按下了两键。

    • 已标记为答案 刘鸿宇 2010年10月8日 3:00
    2010年9月8日 2:49
    版主
  • 这个方案我也是考虑过的,而且已经实现了,只是觉得实现的方式不够好看,所以称之为垃圾的方法(或许叫丑陋的方法更合适些),另外http://ffeeler.info/2010/02/autohotkey-to-achieve-double-click-button-function.do也提到时间控制法,不过其中提到的原版不知道是指什么原版,我再联系作者看看,谢谢。
    2010年9月8日 3:57