delphi窗体之间的相互传值

来源:互联网 发布:网络管理师考试 编辑:程序博客网 时间:2024/04/28 11:38

效果图如下所示


Form1代码

//定义一个用户信息类

type
  TUsersInfo=class
    //声明三个全局变量
    public
       UserName: string;
       UserPwd:string;
       UserAge:Integer;
  end;

//引用form2

uses Unit2;

//定义用户信息对象

var
  UsersInfo:TUsersInfo; 

//初始化并付初值

procedure TForm1.btn1Click(Sender: TObject);
begin
    //创建窗体对象
    UsersInfo:=TUsersInfo.Create;
    //赋值初始化
    UsersInfo.UserName:='小王';
    UsersInfo.UserPwd:='123456';
    UsersInfo.UserAge:=18;
    //手动运行启动窗体
    Application.CreateForm(TForm2,Form2);
    //显示窗体
    Form2.Show;
end;


在窗体form2里面写如下代码

uses Unit1;//引用form1

//窗体初始化代码

procedure TForm2.FormCreate(Sender: TObject);
begin
    //将Form类里面的数据传递过来
     edt1.Text:= UsersInfo.UserName;
     edt2.Text:=UsersInfo.UserPwd;
     edt3.Text:=IntToStr( UsersInfo.UserAge );
end;


最后一步比较关键了,因为我们要显示form2而且是传值的情况下,我们就要将form2的autocreate改成available即可,如下图所示:


按OK确认。


0 0