我想在grid中用回车键控制光标移动,可是回车键点击两下才能移动到下一个格中,我想点击一下就实现移动的功能,大侠帮帮忙把

解决方案 »

  1.   

    procedure TForm1.DBGrid1KeyPress(Sender: TObject; var Key: Char);
    begin
      if key=#13 then
      begin
          if form1.DBGrid1.SelectedIndex<=form1.DBGrid1.FieldCount-1 then
            form1.DBGrid1.SelectedIndex:=form1.DBGrid1.SelectedIndex+1
          else
            form1.DBGrid1.SelectedIndex:=0;
      end;
    end;
      

  2.   

    在DBGrid的OnKeyPress事件中begin
    if key=#13 then
        if DBGrid1.SelectedIndex < 5 Then    //DBGrid显示了6列
     
           DBGrid1.SelectedIndex := DBGrid1.SelectedIndex + 1
        else
           begin
             DBGrid1.SelectedIndex := 0;    // 光标到下一条记录第1列位置//
             with AdoQuery1 do
               begin
                 Next;
                 if EOF then Last;
               end;
           end;回车右移后到了最后一列时,光标移到下一条记录的第1列