如何关闭第二个窗体(50分)

  • 主题发起人 主题发起人 zm666
  • 开始时间 开始时间
Z

zm666

Unregistered / Unconfirmed
GUEST, unregistred user!
我在第一个窗体中调用第二个窗体,用的是form2.showmodal.
然后在form2中的OnActive事件中调用进度条控件当任务完成后
我想把form2释放掉,在OnActive里加入close。可是不起作用?
我该如何处理?
 
好像OnActive得时候不能close,在onpaint里面处理试一试
 
在onpaint事件中试了,可以关闭form2,但在form2看不到其他的控件了,如label控件。
我估计是在执行onpaint事件时,其他的控件还没创建。
还有什么好办法呢?
 
在ONCLOSE里写如下语句:
Action:=caFree;
 
接着在Form2上加一个时间控制器,并设置时间间隔为1秒,Enabled为False;
在Timer的触发事件中添加
Close;
然后在OnShow事件中调用进度控件,当进度完成之后使timer的Enabled=True;
就会瞬间关闭窗体并释放掉.
 
老兄 Action:=caFree;
不灵。
加计时器是不是有点太费劲了?
 
>>在onpaint事件中试了,可以关闭form2,但在form2看不到其他的控件了,如label控件。
>>我估计是在执行onpaint事件时,其他的控件还没创建。
放在onshow中啦
 
想在onshow和onactivate中关掉form本身是不可能的,only you的方法是一种可行的办法。
 
没想到还是有一种办法:
sendmessage(form2.handle,wm_close,0,0);或者
postmessage(form2.handle,wm_close,0,0);
 
postmessage(form2.handle,wm_close,0,0);
可以,太好了多谢.
 
接受答案了.
 
后退
顶部