在prodect1项目文件中添加代码(查看可按 project->view source)
begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.CreateForm(TForm2, Form2);
if Form1.ShowModal=1 then //注意要为1
begin
form1.Free; //释放窗体form1
Application.CreateForm(Tform2, form2); //创建窗体form2
end;
Application.Run; //运行
end.
form1窗体中的button1事件添加代码 //form1为登陆窗体,form2为主窗体
procedure TForm1.Button1Click(Sender: TObject);
begin
showmessage('登陆成功');
self.ModalResult:=idok; //把ModalResult设置为idok
end;
注释:程序执行到if Form1.ShowModal=1 then 时Form1显示出来,单击Form1上的按钮Button1,触发其Click事件,使得Self,即Form1的ModalResult结构为IDOK,即为ShowModal的返回值1,所以紧接着进入begin...end, Form1析构,Form2成为主窗体,本人觉得已经调用过CreateForm来创建Form2了,为什么还要再调用一次呢? 自己测试时将begin end中间的CreateForm(TFrom2, Form2)去掉,结果报错!
不如这样记住算了,对Delphi还是不是很熟悉啊,这样用在登录时很方便撒!