[DevExpress使用随笔]之BarManager控件中创建MainMenu

来源:互联网 发布:电脑右下角出淘宝广告 编辑:程序博客网 时间:2024/05/16 07:22

在BarManager中分别可以创建MainMenu、ToolBar、StatusBar
这里写图片描述

// 首先声明类MENUpublic 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的ManiMenubarManager1.MainMenu = bar1;// 遍历UserMenuforeach (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);    }}// 创建subMenupublic 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); }}
阅读全文
0 0
原创粉丝点击