OnKeyDown                   事件         按下键盘某键时触发 
OnKeyPress                  事件         按下键盘上的单个字符键时触发

解决方案 »

  1.   

    看下面:
    procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
    beginend;procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    beginend;两者最明显的就是参数不同!前者只能接收可显示字符一般是标点符号字母和数字!
    而后者除了可接收前面所提字符还可以接收F1和方向键等!
    后者处理的面要广!
      

  2.   

    OnKeyDown;Occurs when a user presses any key while the control has focus
    ONkeypress:Occurs when a user presses a single character key. 
    keypress事件只能接受ASCII健,不接受非ASCII健(比如F1,F2,上下左右健等)
    另外定义也说的很明白,KEY PRESS的KEY是一个character即字符,而KEY DOWN是
    一个数字
      

  3.   

    OnKeyDown        按下键盘某键时触发 
    OnKeyPress       按下键盘上的单个字符键时触发,包括Down和Up
      

  4.   

    这两事件的用法稍有不同!
    比当用户按下F1时做某种操作,或才用回车来代替TAB就要KeyDown事件!
    当检查键入文是否是数字时用KeyPress更合适!