我有form1和form2两个窗体,我想在form1中调用form2窗体,我采用的是动态调用的,代码如下:
procedure TForm1.btn1Click(Sender: TObject);
var myform:TForm2;
begin
myform:=TForm2.create(nil);
myform.Visible:=true;
MyForm.showmodal;
end;
当form2出来之后四秒钟后自动关闭,代码如下:
procedure TForm2.Timer1Timer(Sender: TObject);
begin
timer1.Interval:=4000;
form2.Close;
end;
现在问题是为什么我创建的myform不能showmodal啊?我想要form2弹出来再form1的上面,即form2覆盖form1,请问各位高手该怎么实现啊??
procedure TForm1.btn1Click(Sender: TObject);
var myform:TForm2;
begin
myform:=TForm2.create(nil);
myform.Visible:=true;
MyForm.showmodal;
end;
当form2出来之后四秒钟后自动关闭,代码如下:
procedure TForm2.Timer1Timer(Sender: TObject);
begin
timer1.Interval:=4000;
form2.Close;
end;
现在问题是为什么我创建的myform不能showmodal啊?我想要form2弹出来再form1的上面,即form2覆盖form1,请问各位高手该怎么实现啊??
解决方案 »
- 为什么这么多人支持360???
- Tchart上如何随鼠标显示相应图像的数值
- 请问如何用鼠标滚轮来放大或缩小图片的大小?如何入手呢?
- 【版务】【讨论】Delphi版优秀斑竹及优秀网友评比细则
- stringGrid与access中数据怎样互相导入
- 一个DBgrid录入的问题?
- Delphi中bitbtn如何用,使其在按下和不按下时候加载的图片不一样(一定帮我这个小鸟)
- 急:这样怎么不能写文件呢?(在线等待)
- 如何调用一些Delphi中没有定义的函数,比如GetIfEntry函数
- 关于BLOB字段问题,高分赠送.
- 请教循环取值问题
- 如何禁止dxgrid的前两列随着横向滚动条的移动而移动,类似excel
begin
Form2.ShowModal;
end;
begin
//这里可以对程序进行初始化;
Label1.Caption := '欢迎进入本系统......';
close;
end;
当也可以对timer进行初始化。。
你不能把form1設成總是在任何窗體前面喲。
在默認情況下(在不修改任何屬性),在form1上show出form2,form2一定是在form1前面的呀。
並且你用的是showmadal.
var myform:TForm2;
begin
myform:=TForm2.create(nil);
//myform.Visible:=true;//去掉这一句,这句多余的,而且会报错
MyForm.showmodal;
end;Error:can`t make a visible windows modal
var
MyForm: TForm2;
begin
MyForm := TForm2.Create(nil);
MyForm.ShowModal();
end;
但是不能覆蓋form1
如果想在form1中包容form2
應在你想要在form1中出現form2的位置放一個容器panel
然後在過程中加多一句話
procedure TForm1.btn1Click(Sender: TObject);
var myform:TForm2;
begin
myform:=TForm2.create(nil);
myform.parent:=form1.panel1;
myform.align:=alclient;
myform.borderstyle:=bsnone;
MyForm.show;
end;
var myform:TForm2;
begin
myform:=TForm2.create(nil);
//myform.Visible:=true;//去掉这一句,这句多余的,而且会报错
MyForm.showmodal;
end;Error:can`t make a visible windows modal同时procedure TForm2.Timer1Timer(Sender: TObject);
begin
timer1.Interval:=4000;
self.Close;
end;
/////////////////////////////////
如果还有上面的错误,就要贴其它地方的代码了...
但是不能覆蓋form1
如果想在form1中包容form2
應在你想要在form1中出現form2的位置放一個容器panel
然後在過程中加多一句話
procedure TForm1.btn1Click(Sender: TObject);
var myform:TForm2;
begin
myform:=TForm2.create(nil);
myform.parent:=form1.panel1;
myform.align:=alclient;
myform.borderstyle:=bsnone;
MyForm.show;
end;
按F7跟进去看
var
sqlstr: string;
stocknameid: string;
MyForm : TForm2;
begin if not checkstop(jobno) and not checkdelete(jobno) then
begin
jobno_updatecpostion(jobno,rst.statusid); //geng xin dang qian ji lu
if rst.outstockflag then
begin
jobno_updatefinish(jobno);
end;
if rst.stockflag then
begin
update_stockflag(jobno); //geng xin chu ku
end;
if (packflag='1') and (packid=rst.statusid) then //ボΤゴ审ゴ
begin
print_barcode(jobno);
lst1.Items.Text:=displaystring+#13#10+lst1.Items.Text;
if checkfirst(jobno,rst.statusid) then
begin
writestandard(rst.statusid,userid,jobno);
end;
end
else
writestandard(rst.statusid,userid,jobno);
end
else begin
myform:=TForm2.create(nil);
MyForm.showmodal;
end;
end;
各位高手代码如上啊
show就可以啊但是showmodal就不行啊