for K:=1 to main.MainMenu1.Items.Count do
  main.MainMenu1.Items.[K].visable:=false;

解决方案 »

  1.   

    for i := 0 to MainMenu1.Items.Count - 1 do
        MainMenu1.Items.Items[i].Visible := True;
      

  2.   

    for i:= 0 to form1.ComponentCount-1 do
            begin
                if (form1.Components[i] is TMenuItem) then
                   (form1.Components[i] as TMenuItem).Visible:=False;
            end;
      

  3.   

    for i := 0 to MainMenu1.Items.Count - 1 do
        MainMenu1.Items.Items[i].Visible := True;
      

  4.   

    递归:procedure TForm1.Set_MI(pm:TMenuItem;Value:Boolean);
    var
       i:integer;
       str:string;
    begin
       for i:=0 to pm.Count-1 do
       begin
         if pm.Items[i].count >0 then  //递归调用
           Set_MI(pm.Items[i],Value);
         //
         if pm.Items[i].tag = 1 then   //根据需要修改
           pm.Items[i].Enabled:=Value;
       end;
    end;
    //使用Set_MI(MainMenu1.Items,False);