可在onchange中使用strtoint,同时捕捉异常,如果出错则提示输入数值
不然就用TMaskEdit控件。如果用onkeypress中处理
if not (key in [chr(8),'+','-','0'..'9']) then
begin
key:=chr(0);
beep;
end
else
begin
if (length(edit1.text)>0) and (key in ['+','-']) then
begin
key:=chr(0);
beep;
end;
end;
chr(8)表示退格键