delphi form1调用form2 如何调用

form1form2两个窗口我在form1中创建一个按钮,想实现点击该按钮就会代开form2请问如何实现直接form2.show;会报错!忘大家帮忙!!首先要usefor... form1 form2 两个窗口 我在form1中创建一个按钮,想实现点击该按钮就会代开form2 请问如何实现 直接form2.show; 会报错! 忘大家帮忙!!

首先要use form2所在的单元。
然后
form2.show就可以了。如果form2没有自动创建,则加一句
if not Assigned(form2) then Form2:= TForm2.create(Self); 这个答案我看过了,但是我不明白 具体在什么位置加代码!
展开
 我来答
百度网友468bee91c
推荐于2016-09-24 · 超过25用户采纳过TA的回答
知道答主
回答量:59
采纳率:0%
帮助的人:0
展开全部
首先要use form2所在的单元。

//这句话是说:要把那条语句加在implementation的后面
//比如:implementation
//
// uses form2;
//
// {$R *.dfm}
//

form2.show就可以了。

//这是说:在form2被delphi自动创建的情况下,你就可以直接将它显示出
//来,因为这个窗体已经被创建了,只是没有显示出来。

如果form2没有自动创建,
//也就是说:form2没有在程序执行的时候自动创建。此时,要想让窗体显示出来,必须先创建它,然后再调用它的show或者showmodal方法。

if not Assigned(form2) then
Form2:= TForm2.create(Self);

//上面的代码加在button的click事件中就可以了。上面代码只是创建了
//个窗体,并没有将它显示出来,所以,要想将它显示出来,还得调用窗
//体的show或者showmodal方法。
//如:procedure Tform1.Button1Click(Sender: TObject);
// begin
// if not Assigned(form2) then
// Form2:= TForm2.create(Self);
// form2.show;
// end;

还不懂的话,可以联系我。
网易云信
2023-12-06 广告
UIkit是一套轻量级、模块化且易于使用的开源UI组件库,由YOOtheme团队开发。它提供了丰富的界面元素,包括按钮、表单、表格、对话框、滑块、下拉菜单、选项卡等等,适用于各种类型的网站和应用程序。UIkit还支持响应式设计,可以根据不同... 点击进入详情页
本回答由网易云信提供
百度网友6fdd4d3
2010-05-14
知道答主
回答量:32
采纳率:100%
帮助的人:20.2万
展开全部
首先是如何use form2
处在form1单元代码编辑状态,点击File->use unit,选择form2所在的单元名称就可以了。这时你在form1的代码中可以发现implementation下有uses **
然后if语句加到form2.show前面就可以了~
希望可以帮到你!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
叮当猫武汉
2010-05-14 · TA获得超过3739个赞
知道大有可为答主
回答量:744
采纳率:0%
帮助的人:0
展开全部
这有两种情况,一种是程序运行自动建立了Form2,一种是需编写代码创建Form2

看看你的xxx.dpr工程文件

begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.CreateForm(TForm2, Form2); // 有这行说明程序会自动创建
Application.Run;
end.

对于自动创建的,只须用
procedure TForm1.Button1Click(Sender: TObject);
begin
Form2.ShowModal;
end;

就可显示Form2

对于第二种情况,则用下面代码:
procedure TForm1.Button1Click(Sender: TObject);
var
Form2:TForm2;
begin
Form2 := TForm2.Create(Self);
Form2.ShowModal;
From2.Free;
end;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ysjqrmpv
2010-05-15 · TA获得超过116个赞
知道小有建树答主
回答量:202
采纳率:0%
帮助的人:206万
展开全部
同样也要
uses Unit2;

procedure TForm1.Button1Click(Sender: TObject);
begin
if Form2=nil then //当form2不存在也就是没有创建的时候
begin
form2:=tform2.create(self); //创建form2
form2.show;
end
else
Form2.Show;
end;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式