private void LoadToolboxItems(ToolBoxList toolbox, References references)
 {
     toolbox.SuspendLayout();
     foreach (Type type in containers)
     {
         ToolboxItem tool = new ToolboxItem(type);
         toolbox.AddToolboxItem(tool, "Containers");
     }
     foreach (Type type in commonControls)
     {
         ToolboxItem tool = new ToolboxItem(type);
         toolbox.AddToolboxItem(tool, "Common Controls");
     }
     foreach (Type type in menusToolbars)
     {
         ToolboxItem tool = new ToolboxItem(type);
         toolbox.AddToolboxItem(tool, "Menus and Toolbars");
     }
     foreach (Type type in commonComponents)
     {
         ToolboxItem tool = new ToolboxItem(type);
         toolbox.AddToolboxItem(tool, "Common Components");
     }
     foreach (Assembly assembly in references.Assemblies)
     {
         LoadAssemblyToolboxItems(toolbox, assembly);
     }
     toolbox.ResumeLayout();
 }
 private void LoadAssemblyToolboxItems(ToolBoxList toolbox, Assembly assembly)
 {
     _toolbox.SuspendLayout();
     foreach (Type type in assembly.GetTypes())
     {
         if (IsValidToolType(type) && HasEmptyPublicCtor(type))
         {
             ToolboxItem tool = new ToolboxItem(type);
             // If the assembly is not in the GAC assume
             // an assembly with custom controls
             //
             if (assembly.GlobalAssemblyCache)
             {
                 toolbox.AddToolboxItem(tool, "All");
             }
             else
             {
                 toolbox.AddToolboxItem(tool, "Custom Components");
             }
         }
     }
     _toolbox.ResumeLayout();
 }