用MDIFORM,怎么可以使他一个窗体不被重复打开??,

解决方案 »

  1.   

    可以用Assigned()或Application.FindComponent()判断,如果存在的话就
    BringtoFront();
      

  2.   

    function MDIFormOpen(mMDIFormSender: TForm; mMDIChildFormName: string): Boolean;
    var
      i: Integer;
    begin
      Result := False;
      for i := 0 to mMDIFormSender.MDIChildCount - 1 do begin
        if mMDIFormSender.MDIChildren[i].Name = mMDIChildFormName then begin
          mMDIFormSender.MDIChildren[i].Show;
          Result := True;
        end;
      end;
    end;//如果已经打开就不打开