delphi 键盘按下事件解决办法

delphi 键盘按下事件
procedure TForm2.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
if key = VK_LEFT then
begin
form2.Top:=form2.Top-1;
end;
if VK_UP=key then
begin
form2.Top:=form2.Left-1;
end;
if VK_RIGHT=key then
begin
form2.Top:=form2.Top+1;
end;
if VK_DOWN=key then
begin
form2.Top:=form2.Left+1;
end;
end;


form2.KeyPreview 已经设置为true;可是还是没有响起,奇怪的是,判断KEY的时候 如果是空格既然可以。
------解决方案--------------------
代码没有问题,可以按键来移动窗体位置。 导致错误或冲突的应该在其他地方。