你可以在form1的onclose事件中写上form2.show的代码啊
onclose事件是窗体关闭事件,你在这里写上代码的只要窗体被关闭就会执行后面的代码,但是这样的花form1好像不能做为主窗体
我建议你只是隐藏form1,不要关闭这样的话就在hide事件中写form2.show的代码。hide事件是窗体隐藏事件
在登录按钮中的代码里面最后写上form1.hide
然后在form1的hide事件中写上form2.show这样就可以了
试试吧
如果你的form1是主窗体的话,那么不行,否则的话,你就动态创建窗体,记住在form1的formclose事件中写入action:=Cafree; 动态创建: Form:=application.createForm(TForm1,Form1); Form.Show;
form2.show之后,,from1.free释放掉就是了,,,不过有不要么?,,
1.可以把form2当成主窗体,然后在form2的oncreate事件中创建form1,当登录成功后,释放form1,如果登录失败就退出程序;
2.在project.dpr文件中写以上事件也可以
可以到csdn下载的我demo程序:delphi 权限管理
http://download.csdn.net/source/484792 (
不建议写form1.hide;这样form1只是隐藏了;另外多一个窗体也不会占多少内存资源;
可以采用以下方法:
1(1)form2做为程序的主窗体
(2)在form2.oncreate事件中写
if form1<>nil then
form1:=tForm1.create(nil);
if fomr1.showmodal=mrok then
begin
//登录成功后的操作代码;
end
else
Application.Terminate; //登录失败,退出程序;
(3) form1的登录按钮,如果登录成功,则是modalresult:=mrok;
失败则是modalresult:=mrcancel;
以上可以参考我的demo程序(delphi权限管理)