大家好:
    我希望当按下回车键时触发一个edit控件的onkeydown事件,此事件要实现对串口取数并判断取数是否稳定,所以时间要长一点。操作人员经常一次性按多下回车键至使该事件被多次触发。是否有一种方法,即使操作人员按了多次回车键该事件只触发一次。我曾试图用全局变量的方法来控制此事件的发生,但不成功。
    谢谢!
                                           王振亚
                                         2003.12.28

解决方案 »

  1.   

    procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    begin
      Timer1.Enabled := True; //模拟长时间处理开始
      Edit1.Enabled := False;
    end;procedure TForm1.Timer1Timer(Sender: TObject);
    begin
      Timer1.Enabled := False; //模拟长时间处理结束
      Edit1.Enabled := True;
      Edit1.SetFocus;
    end;
      

  2.   

    Edit1KeyDown

    if edit1.tag>0 then Exit;
    edit1.tag:=1;
    Do your processing here
    edit1.tag:=0;
    end;