如何在程序中动态加载已经设计好的窗体,而不是在设计程序时加载窗体。

解决方案 »

  1.   

    你先CREATE 然后再show出来,可以不?
      

  2.   

    但是最好是这样
    可以避免加载一个窗体的多个实例
    if not assigned(form2) then
    begin
    application.CreateForm(tform2,form2);
    try
      form2.Visible:=true;
      form2.Show;
    finally
      form2.free;
    end;
    end
    else
    form2.show;
    end;
      

  3.   

    你要的是这种?procedure TBForm.LoadFormFromStream;
    var
      aFileStream: TFileStream;
      i: integer;
    begin
      if IniFileName = '' then exit;  if not FileExists(IniFileName) then exit;  aFileStream := TFileStream.Create(IniFileName, fmOpenRead + fmShareDenyRead);
      if not Assigned(aFileStream) then exit;  try
        aFileStream.ReadComponent(self);    for i := 0 to ControlCount - 1 do
          if csAcceptsControls in Controls[i].ControlStyle then
          begin
          end;
      finally
        aFileStream.Free;
      end;
    end;
      

  4.   

    MyForm := TMyForm.Create(Self);
    try
      MyForm.ShowModal;
    finally
        MyForm.free;
    end;
      

  5.   

    LocustWei(LocustWei):
      可以对你的代码加点注释不,有些语句都看不懂.
      初学,嘿嘿!