由于需要,有时需要动态创建一个form。
为以便于说明,下面举例:
比如form2我show了两个。在打开的一个窗体中,我打开了form3窗体,form3中有一个按钮,给form2中的edit1.text赋一个值。
我不想让两个form2窗体都被赋上值,请问这样的功能如何实现,需要注意一些什么?
欢迎大家讨论并帮我解决问题。
为以便于说明,下面举例:
比如form2我show了两个。在打开的一个窗体中,我打开了form3窗体,form3中有一个按钮,给form2中的edit1.text赋一个值。
我不想让两个form2窗体都被赋上值,请问这样的功能如何实现,需要注意一些什么?
欢迎大家讨论并帮我解决问题。
第一次创建的窗口名为Form2
第二次 Form2_1
第三次 Form2_2
....如果楼主不喜欢的话,可以自定义Form.Name属性
procedure TForm3.Button1Click(Sender: TObject);
begin
tag := tag + 1; form2 := tform2.Create(self);
form2.Name := 'f' + inttostr(tag);
form2.Show;
end;
大致意思就是这样。
form3 := tform2.Create(form2);
類似如此, 然後, 在form3 直接訪問它自己的parent
如:
if Assigned(Form3.Parent) then
begin
(Form3.Parent as TForm2).edit.text := 'xxx';
end;