窗体的消失(10分)

  • 主题发起人 主题发起人 weixj2003ld
  • 开始时间 开始时间
W

weixj2003ld

Unregistered / Unconfirmed
GUEST, unregistred user!
我点击form1中的按钮弹出Form2,想让一个窗体form2在一个规定的时间点消失,消失时其上的Label的caption由hello变成“你好”,用timer控件(在Form1中)实现,在其事件中写入“Form2.close”,Form2消失了,但是再点击Form1中的按钮,弹出的form2时,其上的Label是“你好”,若在Timer事件中写入“Form2.Destroy”,出现“access violation at 000000”的错误提示?不是怎样解决?
 
因为Destroy是和Free功能差不多的,释放内存中的类。你要Form1重新建立你的Form2后,才打再次显示。
 
不要意思,请问在form1中怎样建立form2?我的form2是提前建立的,只是在from1的按钮的click事件中“form2.show”
 
你看一下你的工程单元可以知道 呀。

Application.CreateForm(TForm2, Form2);
 
//动态建立窗体
form2:=Tform2.create(self);//也可以为form2:=Tform2.create(application);
 
上面的语句写入按钮的click事件中吗?
 
是的,记得把建立窗体设为动态创建。
 
不是提前创建,那么Form2中的label的变化的代码些在哪里?
 
请问 wqch88:
怎样设置form2为动态创建?
 
怎样在动态创建的窗体里面加上Label控件?
 
var
ff:tform;//窗体
ll:tlabel;
begin
ff:=tform.Create(nil);
ff.Show;
ll:=tlabel.Create(ff);
ll.Parent:=ff;
ll.Caption:='ytkwerjew';
ll.Show;var
ff:tform;
ll:tlabel;
begin
ff:=tform.Create(nil);
ff.Show;
ll:=tlabel.Create(ff);
ll.Parent:=ff;
ll.Caption:='ytkwerjew';
ll.Show;


关键是parent是父类。
当然labe创建后left,width等属性都可以设置了,form一样的
最后关闭时要free就可以了
 
喔不好意思,复制多了
 
多人接受答案了。
 
后退
顶部