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); 这个答案我看过了,但是我不明白 具体在什么位置加代码! 展开
首先要use form2所在的单元。
然后
form2.show就可以了。如果form2没有自动创建,则加一句
if not Assigned(form2) then Form2:= TForm2.create(Self); 这个答案我看过了,但是我不明白 具体在什么位置加代码! 展开
4个回答
展开全部
首先要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;
还不懂的话,可以联系我。
//这句话是说:要把那条语句加在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;
还不懂的话,可以联系我。
展开全部
首先是如何use form2
处在form1单元代码编辑状态,点击File->use unit,选择form2所在的单元名称就可以了。这时你在form1的代码中可以发现implementation下有uses **
然后if语句加到form2.show前面就可以了~
希望可以帮到你!
处在form1单元代码编辑状态,点击File->use unit,选择form2所在的单元名称就可以了。这时你在form1的代码中可以发现implementation下有uses **
然后if语句加到form2.show前面就可以了~
希望可以帮到你!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这有两种情况,一种是程序运行自动建立了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;
看看你的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;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
同样也要
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;
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;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询