#region 添加子菜单 int i = 0; foreach (string MenuParentName in MenuParentNameList) { i++; //当前子集数据 var SonMenuData = SwtoolMenu.AsEnumerable() .Where(p => p.Field<string>("MenuParent") == MenuParentName && !p.Field<bool>("IsDeleted") && p.Field<bool>("IsActive")) .OrderBy(q => q.Field<int>("CommandIndex")).Distinct(); if (i ==2 || i==3) { #region 第2和3个工具集全加入到第一级工具条中 //下拉菜单中增加分隔符号 MainMenu.AddSeparator(i); //工具条上增加分隔符号 ToolbarButton tb = new ToolbarButton(MainToolBar); tb.DrawSeparator = true; //将比较重要的按钮加入到父级工具条中 foreach (var SonMenuItem in SonMenuData) { string MenuID = "ID_" + MainMenuName + "_" + SonMenuItem["ID"].ToString(); //增加到一级菜单 MainMenu.AddMenuItem(int.Parse(SonMenuItem["ID"].ToString()), SonMenuItem["MenuName"].ToString(), MenuID); //增加到一级工具条 MainToolBar.AddToolbarButton(-1, SonMenuItem["MenuName"].ToString(), MenuID); } #endregion 第2和3个工具集全加入到第一级工具条中 } else { #region 其它按钮加入到各自的子工具条中 //新建子菜单 PopMenu SonMenu = MainMenu.AddSubMenu(i, MenuParentName, "ID_SON_" + i.ToString()); //新建子按钮 Toolbar SonToolBar = cs.MenuGroup.AddToolbar(MenuParentName); //新建子项菜单与按钮 foreach (var SonMenuItem in SonMenuData) { string MenuID = "ID_" + MainMenuName + "_" + SonMenuItem["ID"].ToString(); //增加到父菜单上 SonMenu.AddMenuItem(int.Parse(SonMenuItem["ID"].ToString()), SonMenuItem["MenuName"].ToString(), MenuID); //增加到父按钮上 SonToolBar.AddToolbarButton(-1, SonMenuItem["MenuName"].ToString(), MenuID); } //将按钮子集增加到主工具栏上 MainToolBar.AttachToolbarToFlyout(-1, SonToolBar); #endregion 其它按钮加入到各自的子工具条中 } } #endregion