在leftPanel中是导航图标,点击这些图标在右侧的mainPanel中显示各个窗体,怎样用代码来关闭所有在mainPanel中已经打开过的窗体

解决方案 »

  1.   

    for i:=0 to Application.ControlCount-1 do
        if Application.Controls[i] is TForm then
           TForm(Application.Controls[i]).close; //或者---------------------------------------- for i := 1 to FormCount do
        Forms[i].Close; //或者----------------------------------------var
      I: Integer;
    begin
      for i:=0 to MDIChildCount-1 do
        MDIChildRen[i].Close;
    end; 
     
    //或者----------------------------------------   with SiBoForm do
          for I := MDIChildCount-1 downto 0 do
            MDIChildren[I].Close;
    SiBoForm是主窗口 
     
      

  2.   

    var
    i:integer;
    with mainPanel do
    begin
      for i:=0 to ControlCount-1 do
      begin
      
        //这里判断控件类型,该用close的就close ,该用free 的就free 
          end;
      
    end;
      

  3.   

    要关闭的是在mainPanel中的显示过的所有窗体