void App_ClickItem(object sender, EventArgs e) { DesktopItem item = (DesktopItem)sender; CDesktopApp App = (CDesktopApp)item.m_BaseObject; bool bIsWebUrl = App.Url.Length > 4 && App.Url.Substring(0, 4).Equals("http", StringComparison.OrdinalIgnoreCase); if (!bIsWebUrl && !File.Exists(App.Url)) { MessageBox.Show(string.Format("{0} 不存在!", App.Url)); return; } System.Diagnostics.Process.Start(App.Url); }
void menu_ClickItem(object sender, EventArgs e) { DesktopItem item = (DesktopItem)sender; CMenu menu = (CMenu)item.m_BaseObject; if (menu.MType == enumMenuType.CatalogMenu) { ContextMenu popMenu = new ContextMenu(); LoopLoadPopMenu(popMenu, menu); Point pt = this.PointToClient(MousePosition); popMenu.Show(this, pt, LeftRightAlignment.Right); } else { item_Click(menu); } }
void App_ClickClose(object sender, EventArgs e) { DesktopItem item = (DesktopItem)sender; CDesktopApp App = (CDesktopApp)item.m_BaseObject; if (MessageBox.Show(string.Format("确认删除{0}?", App.Name), "确认", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) != DialogResult.OK) { return; } if (!Program.User.DesktopAppMgr.Delete(App, true)) { MessageBox.Show("删除失败!"); return; } this.flowLayoutPanel.Controls.Remove(item); }
void addBox_ClickItem(object sender, EventArgs e) { AddDesktopApp frm = new AddDesktopApp(); frm.UI_DesktopGroup_id = m_guidDesktopGroupId; if (frm.ShowDialog() != DialogResult.OK) { return; } DesktopItem Item = new DesktopItem(); Item.Title = frm.m_App.Name; Item.Icon = frm.m_App.IconUrl; Item.ItemType = enumDesktopItemType.DesktopApp; Item.m_BaseObject = frm.m_App; Item.ClickItem += new ClickEventHandler(App_ClickItem); Item.ClickClose += new ClickEventHandler(App_ClickClose); this.flowLayoutPanel.Controls.Add(Item); }
void LoadList() { if (string.IsNullOrEmpty(Program.User.Name)) { return; } this.flowLayoutPanel.Controls.Clear(); if (Program.User.IsRole("管理员") && m_guidDesktopGroupId == Guid.Empty) { DesktopItem adminBox = new DesktopItem(); adminBox.Title = "系统管理"; adminBox.Icon = "admin.png"; adminBox.ItemType = enumDesktopItemType.Admin; adminBox.ClickItem += new ClickEventHandler(adminBox_ClickItem); this.flowLayoutPanel.Controls.Add(adminBox); } //用户菜单 List <CBaseObject> lstObj = Program.User.UserMenuMgr.GetList(); foreach (CBaseObject obj in lstObj) { CUserMenu UserMenu = (CUserMenu)obj; if (UserMenu.UI_DesktopGroup_id != m_guidDesktopGroupId) { continue; } CMenu menu = (CMenu)Program.Ctx.MenuMgr.Find(UserMenu.UI_Menu_id); if (menu == null) { continue; } DesktopItem Item = new DesktopItem(); Item.Title = menu.Name; Item.Icon = menu.IconUrl; Item.ItemType = (enumDesktopItemType)Convert.ToInt32(menu.MType); Item.m_BaseObject = menu; Item.ClickItem += new ClickEventHandler(menu_ClickItem); this.flowLayoutPanel.Controls.Add(Item); } //角色菜单 CCompany Company = (CCompany)Program.Ctx.CompanyMgr.Find(Program.User.B_Company_id); if (Company != null) { List <CBaseObject> lstObjR = Company.RoleMgr.GetList(); foreach (CBaseObject objR in lstObjR) { CRole Role = (CRole)objR; if (!Program.User.IsRole(Role.Name)) { continue; } List <CBaseObject> lstObjRM = Role.RoleMenuMgr.GetList(); foreach (CBaseObject objRM in lstObjRM) { CRoleMenu RoleMenu = (CRoleMenu)objRM; if (RoleMenu.UI_DesktopGroup_id != m_guidDesktopGroupId) { continue; } CMenu menu = (CMenu)Program.Ctx.MenuMgr.Find(RoleMenu.UI_Menu_id); if (menu == null) { continue; } DesktopItem Item = new DesktopItem(); Item.Title = menu.Name; Item.Icon = menu.IconUrl; Item.ItemType = (enumDesktopItemType)Convert.ToInt32(menu.MType); Item.m_BaseObject = menu; Item.ClickItem += new ClickEventHandler(menu_ClickItem); this.flowLayoutPanel.Controls.Add(Item); } } } //应用 lstObj = Program.User.DesktopAppMgr.GetList(); foreach (CBaseObject obj in lstObj) { CDesktopApp App = (CDesktopApp)obj; if (App.UI_DesktopGroup_id != m_guidDesktopGroupId) { continue; } DesktopItem Item = new DesktopItem(); Item.Title = App.Name; Item.Icon = App.IconUrl; Item.ItemType = enumDesktopItemType.DesktopApp; Item.m_BaseObject = App; Item.ClickItem += new ClickEventHandler(App_ClickItem); Item.ClickClose += new ClickEventHandler(App_ClickClose); this.flowLayoutPanel.Controls.Add(Item); } //添加 DesktopItem addBox = new DesktopItem(); addBox.Title = "添加应用"; addBox.Icon = "add.png"; addBox.ItemType = enumDesktopItemType.AddDesktopApp; addBox.ClickItem += new ClickEventHandler(addBox_ClickItem); this.flowLayoutPanel.Controls.Add(addBox); }