【转载】delphi 做登陆窗体 用ModalResult属性


在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还是不是很熟悉啊,这样用在登录时很方便撒! 




你可能感兴趣的:(【转载】delphi 做登陆窗体 用ModalResult属性)