delphi7新建一个form

我想知道用delphi7如何新建一个form,比如说,现在我有一个登陆form1,再新建一个form2,当form1成功登陆后,form1自行关闭。请问如何做到这个效果。... 我想知道用delphi7如何新建一个form,比如说,现在我有一个登陆form1,再新建一个form2,当form1成功登陆后,form1自行关闭。请问如何做到这个效果。我现在是在form1的登陆button上写代码form2.show;,感觉这样比较耗内存,一运行程序就同时打开了两个窗口。 展开
 我来答
helubo0573
2011-09-01 · TA获得超过173个赞
知道小有建树答主
回答量:213
采纳率:0%
帮助的人:198万
展开全部
你可以在form1的onclose事件中写上form2.show的代码啊
onclose事件是窗体关闭事件,你在这里写上代码的只要窗体被关闭就会执行后面的代码,但是这样的花form1好像不能做为主窗体
我建议你只是隐藏form1,不要关闭这样的话就在hide事件中写form2.show的代码。hide事件是窗体隐藏事件
在登录按钮中的代码里面最后写上form1.hide
然后在form1的hide事件中写上form2.show这样就可以了
试试吧
更多追问追答
追问
但是这样做,在内在管理器那样,这个程序还是会运行的啊
追答
你是说windows的资源管理器吧?
当然会运行啊,如果不运行的话你如何显示form2呢?
你是说执行了前面这些代码以后你关闭form2窗口以后程序还在运行吗?
你可以在form2的hide事件中写上form1.show
这样当form2隐藏时form1就显示了,然后你关闭form1内存就释放了,因为程序如果不关闭主窗口的话是一直在运行的,所以你只有关闭了主窗口form1才可以吧程序关闭,你关闭form2是没用的
gloyx888
2011-09-02
知道答主
回答量:12
采纳率:0%
帮助的人:7.2万
展开全部
如果你的form1是主窗体的话,那么不行,否则的话,你就动态创建窗体,记住在form1的formclose事件中写入action:=Cafree; 动态创建: Form:=application.createForm(TForm1,Form1); Form.Show;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
_akeychen
2011-09-01 · TA获得超过131个赞
知道答主
回答量:173
采纳率:0%
帮助的人:120万
展开全部
form2.show之后,,from1.free释放掉就是了,,,不过有不要么?,,
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
stzxx
2011-09-02 · TA获得超过129个赞
知道小有建树答主
回答量:383
采纳率:0%
帮助的人:144万
展开全部
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权限管理)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式