AutoCAD.Net/C#.Net QQ群:193522571 生成下拉菜单、工具条
???#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,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()),MenuID);??????//增加到父按钮上??????SonToolBar.AddToolbarButton(-1,MenuID);?????}?????//将按钮子集增加到主工具栏上?????MainToolBar.AttachToolbarToFlyout(-1,SonToolBar);?????#endregion 其它按钮加入到各自的子工具条中????}???}???#endregion (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |