MDI Form 问题(50分)

  • 主题发起人 主题发起人 skytears
  • 开始时间 开始时间
S

skytears

Unregistered / Unconfirmed
GUEST, unregistred user!
在一个click事件中我想显示一个MDI child form ,代码:
application.createform(Tform1,form1);
form1.show;
这样我每次click时都会create ,
我想如果这个form已经show了,就不要再create 了,
请问如何做?
 
if Assigned(form1) then
exit
else
beign
application.createform(Tform1,form1);
form1.show

end;
 
动态创建,每次关闭时释放
with tform1.Create(nil) do
try
showmodal;
finally
// free;
end;
 
if Assigned(form1) then
exit
else
beign
application.createform(Tform1,form1);
form1.show

end;

我用此方法,在close事件中:action:=cafree;后,click后,form1不再出现
 
if Assigned(form1) then
form1.show
else
beign
application.createform(Tform1,form1);
form1.show

end;
但这种方法有问题,最好在Free时将form1:=nil;同时执行
 
if not Assigned(form1) then
application.createform(Tform1,form1);
form1.show
end;
在form1的DESTORY事件中:
form1:=nil;
就可以啦!

 
多人接受答案了。
 
后退
顶部