static public void SyncDesignEventsByButtons(ToolsDesign toolDesign, Dictionary <string, EventActionReleation> designEvents) { foreach (ToolItemConfig tic in toolDesign.ToolsCfg) { if (designEvents.ContainsKey(tic.称) == false) { designEvents.Add(tic.称, new EventActionReleation(tic.称, ActionType.atSysCustomEvent)); } } List <string> keys = new List <string>(designEvents.Keys); for (int i = keys.Count - 1; i >= 0; i--) { //固定事件不允许删除 if (designEvents[keys[i]].ActType == ActionType.atSysFixedEvent) { continue; } if (toolDesign.ToolsCfg.FindIndex(T => T.称 == keys[i]) < 0) { //未找到对应按钮 designEvents.Remove(keys[i]); } } }
static public void ConfigButtons(ToolStrip toolStrip, ToolsDesign toolDesign, EventHandler itemClick) { toolStrip.ImageList = Img24Resource.Imgs; //添加用户工具按钮 foreach (ToolItemConfig toolItem in toolDesign.ToolsCfg) { //创建快捷按钮 ToolStripItem tsBut = null; switch (toolItem.钮类型) { case ToolType.ttLabel: tsBut = new ToolStripLabel(); break; case ToolType.ttButton: tsBut = new ToolStripButton(); break; case ToolType.ttDrowDownButton: tsBut = new ToolStripDropDownButton(); break; case ToolType.ttSeparator: tsBut = new ToolStripSeparator(); break; default: break; } switch (toolItem.显示样式) { case ToolDisplayStyle.tdsText: tsBut.DisplayStyle = ToolStripItemDisplayStyle.Text; break; case ToolDisplayStyle.tdsImage: tsBut.DisplayStyle = ToolStripItemDisplayStyle.Image; break; case ToolDisplayStyle.tdsTextAndImage: tsBut.DisplayStyle = ToolStripItemDisplayStyle.ImageAndText; break; default: break; } switch (toolItem.图标位置) { case ToolIconStyle.tisImageAboveText: tsBut.TextImageRelation = TextImageRelation.ImageAboveText; break; case ToolIconStyle.tisTextAboveImage: tsBut.TextImageRelation = TextImageRelation.TextAboveImage; break; case ToolIconStyle.tisImageBeforeText: tsBut.TextImageRelation = TextImageRelation.ImageBeforeText; break; default: tsBut.TextImageRelation = TextImageRelation.TextBeforeImage; break; } if (toolItem.右对齐) { tsBut.Alignment = ToolStripItemAlignment.Right; } tsBut.Name = toolItem.称; tsBut.Text = toolItem.称; tsBut.Tag = toolItem.标记; Img24Resource.LoadImg(toolItem.图标); tsBut.ImageKey = toolItem.图标; tsBut.ForeColor = toolDesign.ForceColor; tsBut.Click += itemClick; if (string.IsNullOrEmpty(toolItem.父级名称)) { toolStrip.Items.Add(tsBut); } else { ToolStripItem[] tsiParent = toolStrip.Items.Find(toolItem.父级名称, true); ToolStripDropDownButton dropDownButton = tsiParent[0] as ToolStripDropDownButton; if (dropDownButton != null) { dropDownButton.DropDownItems.Add(tsBut); } } toolItem.LinkObj = tsBut; } }