在确定按纽的OnClick事件里写入:
.....
self.ModalResult:=Mrok;

解决方案 »

  1.   

    按会车就退出登陆窗体,是因为回车触发了OnClick事件。
    解决方法:
       将你的按钮(如:确认/放弃)的Default设为FALSE,就可。
    其实,就是一个Windows的默认按钮的问题。在Win3.1的书中就提到了。
                                      
      

  2.   

    你的flogin一开始就将焦点放在ok上了
    你按enter就默认为安了ok的button
      

  3.   

    可以肯定你的ok按扭的代码有问题。也就是ok按扭刚启动就被设为默认。
    那么当按回车就激发了onclik事件,而你对它的oncilk事件的处理不当。
      

  4.   

    确定按扭的default:=false;
    >>procedure Tflogin.EditnameKeyPress(Sender: TObject; var Key: Char);
    >>begin
    >>  if key=#13 then
    >>  begin
    >>    if editname.text='' then
    >>      begin
    >>        showmessage('请输入用户名!');
    >>        editname.SetFocus ;
    >>      end
    >>    else
    >>      editpass.SetFocus ;    
    >>  end;
    >>end;
    改为
    procedure Tflogin.EditnameKeyDown(Sender: TObject; var Key: Word;  Shift: TShiftState);
    begin
      if key=13 then
      begin
        if editname.text='' then
          begin
            showmessage('请输入用户名!');
            editname.SetFocus ;
          end
        else
          editpass.SetFocus ;    
      end;
    end;
      

  5.   

    是按钮的DEFAULT问题
    建议你改该属性为FALSE
    或在EDIT里处理ONKEYDOWN事件
      

  6.   

    检查一下按钮的ModalResult是不是设置为mrNone。
    这个可能性比较大,我觉得。实在不行的话,设置一个标志,然后在登录窗口的OnClose里检查。