public void CreateMenu(MenuStrip menuStrip, MES_MenuType menuType, EventHandler handler) { List<tsysmenuconfig> lstAllMenu = GetAllMenu(); List<tsysmenuconfig> menus = GetTopMenuList(lstAllMenu, menuType.ToString()).ToList(); Reverser<tsysmenuconfig> reverser = new Reverser<tsysmenuconfig>(typeof(tsysmenuconfig), "sortno", ReverserInfo.Direction.DESC); menus.Sort(reverser); foreach (tsysmenuconfig menuconfig in menus) { ToolStripMenuItem topMenu = new ToolStripMenuItem(); topMenu.Name = menuconfig.menuitemid; if (menuconfig.resourceid != null && !menuconfig.resourceid.Trim().Equals("")) { topMenu.Text = UtilCulture.GetString(menuconfig.resourceid); } else { topMenu.Text = menuconfig.menuitemname; } if (menuconfig.menuicon != null && !menuconfig.menuicon.Trim().Equals("")) { topMenu.Image = (System.Drawing.Image)global::GENLSYS.MES.WinPAD.Properties.Resources.ResourceManager.GetObject(menuconfig.menuicon); } topMenu.Enabled = CheckFunctionPrivilege(menuconfig.funcid, Parameter.USER_FUNCTIONS); if (topMenu.Enabled == true) { CreateSubMenu(lstAllMenu, topMenu, menuType, handler); } menuStrip.Items.Insert(0, topMenu); } }
private void CreateSubMenu(List<tsysmenuconfig> lstAllMenu, ToolStripMenuItem parentMenu, MES_MenuType menuType, EventHandler handler) { List<tsysmenuconfig> menus = GetSubMenuList(lstAllMenu, parentMenu.Name, menuType.ToString()).ToList(); Reverser<tsysmenuconfig> reverser = new Reverser<tsysmenuconfig>(typeof(tsysmenuconfig), "sortno", ReverserInfo.Direction.ASC); menus.Sort(reverser); bool separatorFlag = false; foreach (tsysmenuconfig menuconfig in menus) { if (menuconfig.menuitemname.Trim().Equals("-")) { if (!separatorFlag) { ToolStripSeparator toolStripSeparator = new ToolStripSeparator(); toolStripSeparator.Name = menuconfig.menuitemid; parentMenu.DropDownItems.Add(toolStripSeparator); separatorFlag = true; } } else { if (CheckFunctionPrivilege(menuconfig.funcid, Parameter.USER_FUNCTIONS)) { ToolStripMenuItem menu = new ToolStripMenuItem(); menu.Name = menuconfig.menuitemid; if (menuconfig.resourceid != null && !menuconfig.resourceid.Trim().Equals("")) { menu.Text = UtilCulture.GetString(menuconfig.resourceid); } else { menu.Text = menuconfig.menuitemname; } if (menuconfig.menuicon != null && !menuconfig.menuicon.Trim().Equals("")) { menu.Image = (System.Drawing.Image)global::GENLSYS.MES.WinPAD.Properties.Resources.ResourceManager.GetObject(menuconfig.menuicon); } if (menuconfig.menuitemurl != null && !menuconfig.menuitemurl.Trim().Equals("")) { menu.Tag = menuconfig.menuitemurl; menu.Click += handler; } //menu.Enabled = CheckFunctionPrivilege(menuconfig.funcid, Parameter.USER_FUNCTIONS); //if (menu.Enabled == true) //{ // CreateSubMenu(lstAllMenu, menu, menuType, handler); //} CreateSubMenu(lstAllMenu, menu, menuType, handler); parentMenu.DropDownItems.Add(menu); separatorFlag = false; } } } }