我试了试,好像keydown能捕捉所有按键,而keypress只能捕捉可显示字符的按键。所以keypress有大小写字母的区分,而keydown中没有。
按‘A’,应该同时触发keydown和keypress事件,而显示字符是在keypress事件中执行的。你只改keydown是没用的。
关注...

解决方案 »

  1.   

    要同时拦截OnKeyDown和OnKeyUp事件。
      

  2.   

    不是,KeyDown和KeyPress中,Key不是同一个类型的。KeyDown是VK_XXXX之类的虚拟键值,KeyPress却是Ascii键值,当然不一样了!比如'A'的VK值好像是97,而不是65!!!!
      

  3.   

    在KeyPress事件中可以修改参数Key的值!
      

  4.   

    Sorry.我后来自己解决了。没来得及在这里通告。是这样解决的。我在keypress里编程拦截按键,改变键值,同时也在keyDown里编写程序,拦截那些没有被keyPress捕获的按键,进一步处理。