看看你form 上的控件,比如button什么的,有没有把default设为true的,改过来就行了。或者bitbtn的ModalResult?这个不把握。反正只要有东西的default为true,那回车吗……肯定不好使。

解决方案 »

  1.   

    那么可能是因为有按钮的属性被设为Default
      

  2.   

    设断点查看Key的值是多少
    procedure Tfx_fhdtx.edt_khmcKeyPress(Sender: TObject; var Key: Char);
    var     t_sql:String;
    begin
      if (key<>#13) then Exit;
      if (edt_khmc.Text<>'')       then
        t_sql:='select * from client where client_type='''+'批发'+''''+' and client_name like '''+'%'+trim(edt_khmc.text)+'%'+''''
      else
        t_sql:='select * from client where client_type='''+'批发'+'''';
      ShowMessage(t_sql);
    end;
      

  3.   

    我在delphi 5中运行了一下,回车后,执行。
    你再试一次,代码无误。
      

  4.   

    可能是因为有按钮的属性被设为Default,这样的话当按下回车键时,就执行该按钮的onclick事件,而不会执行你定义的KeyPress事件。
      

  5.   

    试试KeyDown或KeyUp,键盘上的所有按键都能捕获
      

  6.   

    不关Form上控件的事,只要将Form的KeyPreview属性设为true就行了
      

  7.   

    form的keypreview 设成true才行的