如何控制ENTER键回车,指到下一行?如Edit1的text输入结束,回车后,就到Edit2的text?

解决方案 »

  1.   

    我是菜鸟但你这个问题我倒会
    你对EDIT1设一个ONKEY事件再用IF语句判断,如果是回车键的话就在IF语句中把输入标点激活EDIT2
      

  2.   

    很简单啊,
    在Edit1的KeyDown里面写事件,
    如果Key是回车就把光标移到Edit2
      

  3.   

    if key = $13 then edit2.setfocus
      

  4.   

    if key=#13 then
      if not (form.ActiveControl is TDbgrid) Then
      Begin
        key:=#0;
        form.perform(WM_NEXTDLGCTL,0,0);
      end else
      if (form.ActiveControl is TDbgrid) Then{是在 TDbgrid 控件内}
      begin
        With TDbgrid(form.ActiveControl) Do
        if Selectedindex<(FieldCount-1) then
          Selectedindex:=Selectedindex+1{ 移动到下一字段}
        else Selectedindex:=0;
      end;
      

  5.   

    如果把上面的代码放到窗体的KEYDOWN事件中,并设置窗体的KEYPREVIEW为TRUE就行了。
      

  6.   

    procedure TFrmFormName.Edit1KeyPress(Sender: TObject; var Key: Char);
    begin
        if Key = #13 then
        begin
            if not (ActiveControl is TDBGrid) then
            begin
                Key := #0;
                Perform(WM_NEXTDLGCTL,0,0);
            end;
        end;
    end;//记得uses DBGrids
      

  7.   

    if key=#13 then
      begin
        key:=#0;
        perform(WM_NEXTDLGCTL,0,0);
      end;
      

  8.   

    有两种方法:
    1.发送WM_NEXTDLGCTL消息。
    2.使用TWinControl的SelectNext方法,在窗口中就变成TForm的SelectNext。
      

  9.   

    procedure TFrmFormName.Edit1KeyPress(Sender: TObject; var Key: Char);
    begin
        if Key = #13 then
        begin
          if trim(edit1.text)='' then
          begin
            showmessage('輸入不能為空!!');
            exit;
          end 
          else
          begin
             edit2.text:='';
             edit2.setfocus;
          end;
        end;
    end;
      

  10.   

    这是个通用的,如果有许多EDIT就很有用了
    if key=#13 then
      if not (form.ActiveControl is TDbgrid) Then
      Begin
        key:=#0;
        form.perform(WM_NEXTDLGCTL,0,0);
      end else
      if (form.ActiveControl is TDbgrid) Then{是在 TDbgrid 控件内}
      begin
        With TDbgrid(form.ActiveControl) Do
        if Selectedindex<(FieldCount-1) then
          Selectedindex:=Selectedindex+1{ 移动到下一字段}
        else Selectedindex:=0;
      end;
      

  11.   

    在Edit1的KeyDown里面写事件,if key = #13 then edit2.setfocus
    我这个一定可以的!
      

  12.   

    补充一点,如果EDIT多的话注意TABORD