简单问题但碰到麻烦:在主FORM完全显示完后再启动(显示)另一个FORM,大伙有什么办法?(50分)

D

del520

Unregistered / Unconfirmed
GUEST, unregistred user!
代码
form2:=Tform2.create(self);
form2.showModal;
该放到哪儿才刚好实现题目所实现的功能呢?

我放到主FORM的onCreate中,在form1没有显示出来就显示了另一个form2
我放到onActive中,则在FORM1显示之后就显示了form2,但在打印模拟显示之后将form2
又显示一次!
我放到ONshow中,效果与放到OnCreate中一样,主FORM根本没显示出来就显示了FORM2

到底放到哪儿更合适,或怎样做?
 
将代码放到ONCanReSize事件可行
 
我试试,如果行,马上给分。
 
不行,本来我想就是不可以的,但还是试了一下。。

这样只要改变FORM的大小都会碰发这个事件,也就是显示相应的FORM2

 
加一个全局的bool变量,让它只运行一次。
 
你可以加一布尔变量控制呀,在处理完后该变变量值就行了
 
加一个button,把代码写在button里面不就行了。
如果不是这个意思,请问你这个功能有什么意义,用得着这样吗
 
用变量控制是个好办法,我现在就试试。
 
在OnActivate事件中写显示FORM2的代码,同时用一个FORM1的私有变量来控制显示一次。
private
FShowOneTime: Boolean;

begin
if not FShowOneTime then
begin
Form2.ShowModal;
FShowOneTime := True;
end;
end;
 
谢谢,已经搞定了。
 
顶部