让程序在初试化的时候就创建好所有窗体
使form1成为启动窗体.
在关闭form1的时候显示form2
那么,你的目的就已经达到了!

解决方案 »

  1.   

    建议1、把form2设为主窗口
    2、form2、form3自动创建,form1手动创建
    3、form1创建方式
    如下小例
      Application.Initialize;
     //创建登录窗体 
      frmLogin := TfrmLogin.Create(nil);
      if frmLogin.ShowModal = mrOK then begin
        //如果登录成功,则打开主窗体并运行
        frmLogin.Free;
        Application.CreateForm(TForm1, Form1);
        Application.Run;
      end
      else begin
      //否则推出应用程序 
        Application.Terminate;
      end;
      

  2.   

    To netlib(河外孤星)
    谢谢你的建议
    不过,你好像误会我的意思了,我说的form1是logo,是指一个软件封皮(花哨的东西:)) 不是数据库应用程序常用的login窗
      

  3.   

    这个就比较麻烦了,
    用mdi窗口是不允许有非mdi窗口出现的。
      

  4.   

    在使用MDI的主程序前,显示一个封皮,这样的效果应该不算苛刻啊!
      

  5.   

    可以这样完成
      Application.Initialize;
      //创建封皮窗体
      frmWelcome := TfrmWelcome.Create(nil);
     //显示并更新封皮窗体
      frmWelcome.Show;
      frmWelcome.Update;
     //创建主窗体
      Application.CreateForm(TfrmMain, frmMain);
     //主窗体创建完毕后,可以释放封皮窗体,然后进入主窗体
      frmWelcome.Free;
      Application.Run;
      

  6.   

    begin
    ......
    form1.show思路而已
    哈哈
      

  7.   

    这个不属于mdi范围了
    如果要form2 form3同时显示
    form1.formstyle:=fsmdiform;
    form2.formstyle:=fsmdichild;
    form2.formstyle:=fsmdichild;