我有这个代码
procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); var begin if not (Key in [Ord('0')..Ord('9')]) then Key := 0; end;
并且它与Delphi 2007一起工作正常.当我升级到Delphi 2009并且我尝试按任何字母时它被接受并且Key:= 0不会捕获输入?
有人遇到过同样的行为吗?
你确定这在Delphi 2007中有效吗?我刚刚尝试了Delphi 2007和2009中的代码.两者的行为相同(没有吃掉键击)如果你只想接受数字,你应该使用OnKeyPress事件并将Key参数设置为#0.