procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
   if key=#13 then
     button1.SetFocus;
end;代码如上。为什么Edit1输入完后我按回车button1没响应

解决方案 »

  1.   

    你的代码是正确的,在Edit1中按回车后,Button1就获得了焦点,你再按一下回车就会触发Button1的onclick事件,你Button1的onclick事件是什么?
      

  2.   

    if Key=#13 then
     begin
      key:=#0;
      Button1.SetFocus;
     end;
      

  3.   

    Button1的onclick事件是下一个FORM2.show呀
    但是没显示FORM2
      

  4.   

    Button1.SetFocus;
    改成:Button1.Click;
      

  5.   

    Button1.SetFocus;
    改成:Button1Click(nil)
    试试看
      

  6.   

    我也碰到这个问题,好像不用在13前面加#,直接用if key=13 then...就行了.我用的是DELPHI7,不知道其他的是不是这样的.
      

  7.   

    procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
    begin
       if key=#13 then
       begin
         key=#0;
         button1.SetFocus;
         button1.click;
       end;
    end;
      

  8.   

    procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
    begin
       if key=#13 then
       begin
         key=#0;
         button1Click(Sender);
       end;
    end;
      

  9.   

    我想请问为什么还要“key=:#0;”一下??
      

  10.   

    key := #0 是让它不‘嘀'地响一声
      

  11.   

    procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
    begin
       if key=#13 then button1.click;
    end;
      

  12.   

    改成KEYDOWN事件
    然后,IF KEY=13 THEN 
    就OK了
      

  13.   

    同意 liushiboy(绯村)
    procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    begin
      button1.SetFocus;
    end;
      

  14.   

    procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
    begin
       if key=#13 then button1.click;
    end;
    代码如上。Edit1输入完后我按回车button1就会有响应
      

  15.   

    procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
    begin
       if key=#13 then button1.click;
    end;
    代码如上。Edit1输入完后我按回车button1就会有响应
      

  16.   

    if key=#13 then
             button1click(sender);