3个回答
展开全部
你能不能换个思路呢?把form2里的东西做成class procedure baidushow;
然后在这个 class procedure baidushow里先create 本身,然后实现你要做的事情,最后加上self.showmodal;
在form1里直接调用baidushow,就ok了 ;这样和先创建form,再执行过程,然后再show窗体是一样的。
更恶心一点的办法就是放个timer了,时间可以设置的很短,在窗体 onshow事件里激活timer。用timer来调用你的那个过程,timer事件里最后把timer自己enable false掉就行,感觉好像就是一打开就执行的感觉
然后在这个 class procedure baidushow里先create 本身,然后实现你要做的事情,最后加上self.showmodal;
在form1里直接调用baidushow,就ok了 ;这样和先创建form,再执行过程,然后再show窗体是一样的。
更恶心一点的办法就是放个timer了,时间可以设置的很短,在窗体 onshow事件里激活timer。用timer来调用你的那个过程,timer事件里最后把timer自己enable false掉就行,感觉好像就是一打开就执行的感觉
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
procedure TForm1.button1Click(sender: Object)
var f2: TForm2;
begin
f2:= TForm2.Create(self);
f2.Do(); //执行form2公开的过程
f2.ShowModal;
end;
//下面是form2
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs;
type
TForm2 = class(TForm)
private
{ Private declarations }
public
{ Public declarations }
procedure Do(); //这里定义Do是公开的过程
end;
var f2: TForm2;
begin
f2:= TForm2.Create(self);
f2.Do(); //执行form2公开的过程
f2.ShowModal;
end;
//下面是form2
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs;
type
TForm2 = class(TForm)
private
{ Private declarations }
public
{ Public declarations }
procedure Do(); //这里定义Do是公开的过程
end;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
什么叫Form2中有程序呢?Form2不就是程序嘛?
追问
from2不是对应unit2吗? unit2中有procedure啊..showmodal后只是显示出来form了 怎么执行procedure呢?
追答
在Form2的OnCreate事件中写procedure代码或在OnShow事件中写Procedure代码就可以了!
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询