delphi高手看过来,窗口调用的问题!

请教各位大虾,小弟,正在学习delphi...遇到一个问题,比如说我想用两个窗口,分别在上面放置一个按钮,程序运行的时候,点form1上的button,马上就把form2... 请教各位大虾,小弟,正在学习delphi...
遇到一个问题,比如说我想用两个窗口,分别在上面放置一个按钮,程序运行的时候,点form1上的button,马上就把form2显示出来,点form2上的button又回到form1,请大虾们指点也下小弟吧!
展开
 我来答
yueyun889
2007-03-07 · TA获得超过725个赞
知道小有建树答主
回答量:539
采纳率:0%
帮助的人:759万
展开全部
这个问题...如果是简单的两个窗体之间的显示隐藏,可以这样做(主窗体为form1):
在unit1中,添加unit2单元,在这里:
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs,unit2{你的form2单元名称}, StdCtrls;

button下的代码:
procedure TForm1.Button1Click(Sender: TObject);
begin
form2.Show;
form1.Hide;//控制form2显示时,form1是否隐藏
end;

在unit2中,也需要添加对unit1的引用,不过不可以在uses直接添加了,需要在实现部分添加:
var
Form2: TForm2;

implementation

uses unit1;//在次添加对form1单元的引用.

{$R *.dfm}

procedure TForm2.Button1Click(Sender: TObject);//form2中,button下的代码:
begin
form2.Close;
form1.Show;
end;

就是这么简答.
如果你是想做系统的登陆窗体,可以到我的空间里去看看这么做登陆模块:
http://hi.baidu.com/yueyun889/blog/item/e302a93ea999a2fa838b13e3.html
TableDI
2024-07-18 广告
Excel一键自动匹配,在线免费vlookup工具,3步完成!Excel在线免费vlookup工具,点击87步自动完成vlookup匹配,无需手写公式,免费使用!... 点击进入详情页
本回答由TableDI提供
gwliuican
2007-03-06 · TA获得超过884个赞
知道小有建树答主
回答量:1393
采纳率:0%
帮助的人:1249万
展开全部
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation
uses
unit2;
{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
if form2=nil then
begin
form2:=Tform2.Create(self);
form2.ShowModal;
end;
end;

end.

unit Unit2;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons;

type
TForm2 = class(TForm)
BitBtn1: TBitBtn;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure BitBtn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form2: TForm2;

implementation
uses
unit1;
{$R *.dfm}

procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);
begin
action:=cafree;
form2:=nil;
end;

procedure TForm2.BitBtn1Click(Sender: TObject);
begin
close;
end;

end.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jackalwin
2007-03-07 · TA获得超过171个赞
知道小有建树答主
回答量:185
采纳率:0%
帮助的人:314万
展开全部
form1上button的click事件:
form2:=tform2.create(application);
form2.showmodal;
form2.free;
form2上button的click事件:
close;

easy~!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式