效果图如下所示
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确认。
这篇博客介绍了如何在Delphi中实现窗体间的值传递。通过定义一个用户信息类,初始化并赋值,然后在第二个窗体中引用并显示这些值。在Form1中创建Form2对象并显示,而在Form2的FormCreate事件中获取Form1中的用户信息,并显示在相应控件上。关键步骤包括设置Form2的AutoCreate属性为Available。
830

被折叠的 条评论
为什么被折叠?



