我在登录框里点取消按钮里写     Application->Terminate();来关闭程序,可是每次主FORM都会在按取消按钮后闪一下程序才关闭了!我是把主FORM设为工程的MainForm的!然后在主FORM里创建登录FORM!各位有没有不让主FORM不闪的办法啊?

解决方案 »

  1.   

    呵呵,是个bug吧。其实直接将按钮的kind属性设置为cancel最为简单。
      

  2.   

    你说的kind是ModalResult吗?  我在主FORM里调用LoginForm,如果只是把LoginForm的取消按钮设为Cancel的话,只是关闭LoginForm的啊,主FORM在LOGINFORM关闭后还是会SHOW的!
      

  3.   

    取消里写
    Mainform.Hide;
    Application.Terminate;
    或者直接Mainform.Close;
      

  4.   

    取消里写
    Mainform.Hide;
    Application.Terminate;
    或者直接Mainform.Close;
      

  5.   

    TO lw549:
      我这边这样还是会闪一下!你的工程的mainform是主FORM,还是登录的FORM?
      

  6.   

    //各位有没有不让主FORM不闪的办法啊?---假设登陆窗口为EnterForm,主窗口为MainForm:
       在登陆窗口的取消按钮onclick中写:
       ...
       close;                        //先关闭登陆窗口,回到主窗口
       sleep(200);                   //等一会
       application.terminate;        //终止应用程序  
       ...  
      

  7.   

    TO MichealLee() :
      那样也不行!
      

  8.   

    对了,我说的是在用application.terminate;关闭程序里,是主FORM闪了再关闭程序!
      

  9.   

    没错,因为application.terminate不是立即结束程序,要等formshow以后才关闭,所以你最好hide窗体或者把登陆代码写在工程文件里
      

  10.   

    先application.ShowMainForm:=false,再终止程序