public void InitialzeToolbars() { BarManager barManager = mainForm.ToolBarManager as BarManager; if (barManager != null) { ((System.ComponentModel.ISupportInitialize)(barManager)).BeginInit(); var groups = winformToolbarManager.GetAllToolbarGroups(); var standaloneBarDockControl = mainForm.StandaloneBarDockControl as StandaloneBarDockControl; ImageList imageList = new ImageList(); barManager.Images = imageList; foreach (var group in groups) { var newBar = CreateBarByGroup(group, standaloneBarDockControl); IList <WinformToolbar> toolbars = winformToolbarManager.GetToolbarsByGroups(group); foreach (var toolbar in toolbars) { imageList.Images.Add(toolbar.PrefixedName, toolbar.Icon); BarButtonItem buttonItem = new BarButtonItem(); buttonItem.Caption = toolbar.Tip; buttonItem.Name = toolbar.Name; buttonItem.ImageIndex = imageList.Images.IndexOfKey(toolbar.PrefixedName); if (toolbar.DisableIcon != null) { imageList.Images.Add(toolbar.PrefixedName + toolbarDisableSuffixStr, toolbar.DisableIcon); buttonItem.ImageIndexDisabled = imageList.Images.IndexOfKey(toolbar.PrefixedName + toolbarDisableSuffixStr); } toolbar.UIObject = buttonItem; buttonItem.Enabled = toolbar.DefaultEnable; buttonItem.ItemClick += (sender, e) => { //toolbar.ToolbarEvent?.Invoke(toolbar); if (toolbar.ToolbarAction != null) { var toolActiono = iocManager.Resolve(toolbar.ToolbarAction); if (toolActiono is IToolbarAction) { var toolAction = (IToolbarAction)toolActiono; toolAction.WinformToolbar = toolbar; toolAction.Excute(); } } }; barManager.Items.Add(buttonItem); newBar.LinksPersistInfo.Add(new LinkPersistInfo(buttonItem)); } barManager.Bars.Add(newBar); } ((System.ComponentModel.ISupportInitialize)(barManager)).EndInit(); } else { throw new AbpException("No Bar Manager was found"); } }
/// <summary> /// CAD文件打开时的Toolbar操作 /// </summary> public void CADFileOpen() { var toolbarGroup = toolbarManager.GetToolbarGroupOrNull(CADToolbarNames.CADToolGroup); if (toolbarGroup != null) { winformToolbarViewManager.ClearToolbars(); winformToolbarViewManager.SetToolbarGroupStatus(toolbarGroup, MenuStatus.Available); var bars = toolbarManager.GetToolbarsByGroups(toolbarGroup); winformToolbarViewManager.SetToolbarsStatus(bars, MenuStatus.Available); } }