怎么列出delphi project里面所有的form
我需要在一个窗口中列出当前project所有的form,请问如何实现?
谢谢
Delphi
[解决办法]
用Application.Components属性:
procedure TForm1.Button1Click(Sender: TObject);
var
i: integer;
begin
for i := 0 to Application.ComponentCount - 1 do
Memo1.Lines.Add(Application.Components[i].Name);
end;
[解决办法]
form2还没有创建吧?如果是动态创建的只有在创建后才有form2
[解决办法]
procedure TForm2.Button1Click(Sender: TObject);
var
i: integer;
begin
for i := 0 to Application.ComponentCount - 1 do
ListBox1.Items.Add(Application.Components[i].Name);
end;
procedure TForm2.Button2Click(Sender: TObject);
begin
if not Assigned(Form3) then
Form3 := TForm3.Create(Application);
Form3.Show;
end;
[解决办法]
form2:= tform2.create(Application); //这样创建的才能抓得到.
[解决办法]
还可以用Screen.Forms[i]
不管你怎么创建都可以抓得到,前提是你的窗口要创建。
procedure TForm2.Button3Click(Sender: TObject);
var
i: integer;
begin
for i := 0 to Screen.FormCount - 1 do
ListBox1.Items.Add(Screen.Forms[i].Name);
end;