首页 > 解决方案 > 如何引用当前实例的表单而不是引用根表单?

问题描述

我使用以下方法启动了更多相同形式的实例:

var
  myForms: TArray<TTestForm>;
  I: Integer;
begin
  SetLength(myForms, 10);
  for I:= 0 to 1 do begin
    myForms[I] := TTestForm.Create(Application);  // Application will free the forms on exit
    myForms[I].Caption:=inttostr(i);
    myForms[I].Show;
  end;

但是,当我必须从自身修改表单的值之一时,它将修改根表单的值而不是自身。

就像我TestForm.Caption:='Test'从许多表单实例之一运行一样,它不会修改自身,而是修改“TestForm”的父实例。

有没有办法引用运行代码的表单?就像您始终可以使用 Application.MainForm 引用主窗体的方式一样。

标签: delphi

解决方案


推荐阅读