public static void ProcessConfigItem(WorkItem workItem, ToolStripPanel toolStripPanel, MenuItemElement menuItem) { if (menuItem.IsContainer) { ToolStrip toolStrip = menuItem.ToToolStrip(); toolStrip.Size = new System.Drawing.Size(442, 25); toolStrip.Text = menuItem.Site; toolStrip.Name = menuItem.Site; toolStrip.ImageScalingSize = new System.Drawing.Size(32, 32); toolStripPanel.Join(toolStrip); workItem.UIExtensionSites.RegisterSite(menuItem.Site, toolStrip); workItem.RootWorkItem.Items.Add(toolStrip, menuItem.Site); } else { foreach (Control control in toolStripPanel.Controls) { ToolStrip toolStrip = control as ToolStrip; toolStrip.ImageScalingSize = new System.Drawing.Size(32, 32); if (toolStrip != null) { if (toolStrip.Name == menuItem.Site) { ToolStripButton toolStripButton = menuItem.ToToolStripItem(); toolStripButton.ToolTipText = menuItem.CommandName; toolStripButton.Name = menuItem.CommandName; toolStripButton.Tag = menuItem.Icon; toolStripButton.Image = menuItem.GetIcon(menuItem.Icon); if (workItem.UIExtensionSites.Contains(menuItem.Site)) { workItem.UIExtensionSites[menuItem.Site].Add<ToolStripButton>(toolStripButton); } if (!String.IsNullOrEmpty(menuItem.CommandName)) workItem.Commands[menuItem.CommandName].AddInvoker(toolStripButton, "Click"); } } } } }