有三个窗体,  Form_welcome,form_login,form_main.
第一出现的窗体是Form_welcome,这之中有一个欢迎使用的界面。单击鼠标.出现登陆
Form_login窗口,同时关闭Form_welcom.form_login密码验证正确性后打开 Form_main,同时关闭Form_main.把用户保存用局变量中去。
请问各位大侠,高手,这三个窗体的Formstyle怎么设啊。同时,打开跟关闭Form的代码怎么写啊。

解决方案 »

  1.   

    在project1中:
    FormWelcom.showmodal;
    加个TIMER,可以实现点一下FORMWELCOM就消失在FrmMain的 onshow 事件中:
      FormLogin.ShowModal;
    在formlogin的 modalresult 中判断是否继续运行,不运行就Application.Terminater;
      

  2.   

    例子:
    -------------------------------------------------------
    dpr文件:
    Form_welcome := TForm_welcome.Create(nil);
    Application.Initialize;
    Application.ProcessMessages;
    Form_welcome.lblState.Caption := '正在初始化系统...      ';
    Form_welcome.Show;
    Application.ProcessMessages;
    Application.CreateForm(TfrmMain, frmMain);
    Form_welcome.lblState.Caption := '正在链接数据库...      ';
    Form_welcome.Free;
    Application.Run;Form_welcome的属性设置:
    BorderStyle := bsNone; // 无边框Form_welcome关闭之后会自动打开form_main,所以在form_main的OnShow事件添加一段显示form_login窗口的代码,代码如下:
    form_login.ShowModal;显示form_login窗口之后可以加入检验密码的代码
    正确:用Close关闭窗口(注意:只是关闭form_login窗口,关闭form_login窗口就会打开form_main窗口)
    错误:用exit返回当前登陆窗口
    如果不想登陆,用Application.Terminate来关闭整个程序
      

  3.   

    你为什么要关闭呢,让它的visible变为false不就行了
      

  4.   

    program Project1;uses
      Forms,
      Unit1 in 'Unit1.pas' {Form1},
      Unit2 in 'Unit2.pas' {Form2},
      Unit3 in 'Unit3.pas' {Form3};{$R *.res}begin
      Application.Initialize;
      Application.CreateForm(TForm2, Form2);
      Form2.ShowModal;
      Form2.Free;
      Application.CreateForm(TForm1, Form1);
      Application.Run;
    end.unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs;type
      TForm1 = class(TForm)
        procedure FormCreate(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementationuses
      Unit2,Unit3;{$R *.dfm}procedure TForm1.FormCreate(Sender: TObject);
    begin
      Application.CreateForm(TForm3, Form3);
      Form3.showmodal;
      if Form3.ShowModal<>mrOK then
        application.terminate
      else
        Form3.Free;
    end;end.
    unit Unit2;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs;type
      TForm2 = class(TForm)
        procedure FormClick(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form2: TForm2;implementation{$R *.dfm}procedure TForm2.FormClick(Sender: TObject);
    begin
      Close;
    end;end.unit Unit3;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls, Buttons;type
      TForm3 = class(TForm)
        BitBtn1: TBitBtn;
        procedure BitBtn1Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form3: TForm3;implementation{$R *.dfm}procedure TForm3.BitBtn1Click(Sender: TObject);
    begin
      Form3.ModalResult := mrOK;
    end;end.
    在form3上加一个BitBtn1,设置属性ModalResult为mrOk
      

  5.   

    从form_login到Form_main:
      在form_login的窗口里是一个“确定”按钮,在其onClick事件里写上
         Form_main.show;
         Form_login.hide;这只是简单的实现打开和关闭功能,并不涉及其它登陆功能
      

  6.   

    从form_login到Form_main:
      在form_login的窗口里是一个“确定”按钮,在其onClick事件里写上
         Form_main.show;
         Form_login.hide;这只是简单的实现打开和关闭功能,并不涉及其它登陆功能