[DevExpress使用随笔]之BarManager控件中创建MainMenu
2017-11-23 09:35
561 查看
在BarManager中分别可以创建MainMenu、ToolBar、StatusBar
// 首先声明类MENU public class MENU { public string MENUID { get; set; } public string MENUNAME { get; set; } public string MENUFID { get; set; } public string MENUISF { get; set; } public string MENUEXEC { get; set; } } // 声明一个List<T>类的UserMenu变量。 private static List<MENU> UserMenu = null; 可以使用ToList()方法获取菜单数据并赋给变量UserMenu,比如: var query = from c in dbo.menu select c; UserMenu = query.ToList(); // 声明一个BarManager类型的变量 private DevExpress.XtraBars.BarManager barManager1; // 声明一个Bar类型的变量 private DevExpress.XtraBars.Bar bar1; // 分别进行初始化 barManager1 = new DevExpress.XtraBars.BarManager(); bar1 = = new DevExpress.XtraBars.Bar(); // 定义BarManager的ItemClick事件 barManager1.ItemClick += new ItemClickEventHandler(barManager_ItemClick); // bar停靠在顶部 bar1.DockStyle = BarDockStyle.Top; // 设置bar作为barManager的ManiMenu barManager1.MainMenu = bar1; // 遍历UserMenu foreach (var m in UserMenu) { if (m.MENUFID == "0") { // 声明BarSubItem类型的变量topMenu BarSubItem topMenu = new BarSubItem(barManager1, m.MENUNAME); topMenu.Name = "subMenu"; bar1.AddItems(new BarItem[] { topMenu }); CreateSubMenuBar(barManager1, topMenu, m.MENUID); } } // 创建subMenu public void CreateSubMenuBar(BarManager barManager1, BarSubItem topMenu, string MenuFID) { foreach (var m in SystemAuthentication.UserMenuAuthorities) { if (m.MENUFID == MenuFID) { if (m.MENUISF == "0") { BarButtonItem subButton = new BarButtonItem(barManager1, m.MENUNAME); subButton.Name = "subButton"; subButton.Tag = m; topMenu.AddItems(new BarItem[] { subButton }); } else { BarSubItem subMenu = new BarSubItem(barManager1, m.MENUNAME); subMenu.Name = "subMenu" + m.MENUID; topMenu.AddItems(new BarItem[] { subMenu }); CreateSubMenuBar(barManager1, subMenu, m.MENUID); } } } } // ItemClick事件 void barManager_ItemClick(object sender, ItemClickEventArgs e) { try { BarSubItem subMenu = e.Item as BarSubItem; if (subMenu != null) return; MessageBox.Show("Item '" + e.Item.Caption + "' has been clicked"); } catch (Exception ex) { Msg.ShowException(ex); } }
相关文章推荐
- DevExpress系列之BarManager控件使用
- DevExpress.XtraBars.Ribbon控件使用系列 (1)创建Ribbon窗体
- [DevExpress使用随笔]之RibbonReportDesigner控件
- [DevExpress使用随笔]之NavBarControl控件(一)
- DevExpress控件使用随笔——TabConTrol
- DevExpress系列之BarManager控件使用
- [DevExpress使用随笔]之NavBarControl控件(二)
- DevExpress.XtraBars.Ribbon控件使用系列 (2)创建ApplicationMenu
- DevExpress控件使用方法:第二篇 barManager
- DevExpress 控件使用之BarManager
- DevExpress控件使用方法:第二篇 barManager
- 使用 ASP+ DataGrid 控件来创建主视图/详细资料视图
- DevExpress ASP.NET控件使用
- 使用 ASP+ DataGrid 控件来创建主视图/详细资料视图 (2)
- 使用DevExpress 的 ASPxGridView 控件显示主从表
- 英语阅读推荐:创建Silverlight用户控件 & A*路径搜索中使用二叉堆
- 如何对动态创建控件进行验证以及在Ajax环境中的使用
- VS2003 C#:重写键盘响应事件、动态创建控件、创建线程、在线程中使用委托在界面显示数据
- MFC控件篇之利用AppWizard创建并使用ToolBar StatusBar Dialog Bar
- VC中Windows常用控件的创建和使用