我在一个程序里面打开好多form, 然后想操作某个特定的form,已知这个form的name,并且知道是当前活动窗体,请问如何获取这个form对象?

解决方案 »

  1.   

    通过Screen对象来遍历就行了:
    var i:integer;for i:=0 to Screen.FormCount-1 do
    begin
      if Screen.Forms[i].Name='xxx' then
        //....
    end;
      

  2.   

    for i := 0 to Self.MDIChildCount do
      begin
        if Self.MDIChildren[I].name = 'xxxx' then
        begin
         //---------------------
         break;
        end;
      end;
    mdi窗口
      

  3.   

    MDi: ActiveMDIChild
    普通窗体: Screen.Forms[i]
      

  4.   

    我表示我这里没注意到“并且知道是当前活动窗体”呵呵。Screen.ActiveForm也可以。
      

  5.   

    创建var
      frm:TForm2;
    begin
      frm := TForm2.Create(Application);
      frm.Name := 'frm2';
      frm.Show;
    end;
    查找
    Application.FindComponent('frm2')