zoukankan      html  css  js  c++  java
  • DevExpress 组件动态在PopupMenu中添加项

    示例中是:

    private DevExpress.XtraBars.PopupMenu popupMenu1;
    添加一些项:
     ((System.ComponentModel.ISupportInitialize)(this.popupMenu1)).BeginInit();
    this.popupMenu1.LinksPersistInfo.AddRange(new DevExpress.XtraBars.LinkPersistInfo[] {
                new DevExpress.XtraBars.LinkPersistInfo(this.iCut),
                new DevExpress.XtraBars.LinkPersistInfo(this.iCopy),
                new DevExpress.XtraBars.LinkPersistInfo(this.iPaste),
                new DevExpress.XtraBars.LinkPersistInfo(this.iClear),
                new DevExpress.XtraBars.LinkPersistInfo(this.iFont, true),
                new DevExpress.XtraBars.LinkPersistInfo(this.iBullets)});
    ((System.ComponentModel.ISupportInitialize)(this.popupMenu1)).EndInit();
    加入BeginInit  和 EndInit 才能正确显示

    后来看到后面的博文,变通下,用这个方法:

    popupMenu1.AddItem(new 一个 item);

    如果加载已有的项目,则用:

    popupMenu1.AddItem(new DevExpress.XtraBars.LinkPersistInfo(this.iCut).Item);

    以下转自:http://www.cnblogs.com/cglNet/archive/2012/08/27/2658207.html

    原文:DevExpress 组件动态在PopupMenu中添加项

    由于使用DevExpress 的控件,需要在PopupMenu动态添加项。根据PopupMenu的后台代码,自己写怎么添加都不显示,不知道原因何在。代码如下:
    
                BarButtonItem tBBI = new BarButtonItem();
    
                tBBI.Name = "Item1";
    
                tBBI.Caption = "myItem";
    
                this.barManager1.Items.Add(tBBI);
    
                this.pPop.LinksPersistInfo.Add(new LinkPersistInfo(tBBI));
    
     
    
    后来无意中,发现PopupMenu有一个AddItem方法,用了之后,可以了。很高兴。但问题接踵而至。按钮中的项,不能分组。继续找原因。知道发现这篇博客:
    
    http://www.cnblogs.com/supermap/archive/2006/07/01/440418.html
    
    很受启发,尤其是关键代码
    
            public PopupMenu CreateContextMenu()
    
            {
    
                PopupMenu contextMenu = new PopupMenu();
    
                contextMenu.Popup += new EventHandler(ContextMenuPopupHandler);
    
                foreach (object item in buildItems)
    
                {
    
                    if (item is BarItem)
    
                    {
    
                        bool beginGroup = false;
    
                        beginGroup = (bool)(item as BarItem).Tag;
    
                        //contextMenu.LinksPersistInfo.AddRange(new LinkPersistInfo[] { new LinkPersistInfo((item as             BarItem),         beginGroup) });
    
                        BarItem barItem = item as BarItem;
    
                        AddMenuItem(barManager, barItem);
    
                        //用LinksPersistInfo右键菜单不出来
    
                        //contextMenu.LinksPersistInfo.Add(new LinkPersistInfo(barItem, beginGroup));
    
                        BarItemLink itemLink = contextMenu.AddItem(barItem);
    
                        itemLink.BeginGroup = beginGroup;
    
                    }
    
                }
    
                contextMenu.Manager = barManager;
    
                return contextMenu;
    
            }

    另外一篇文章:http://www.cnblogs.com/supermap/archive/2006/07/01/440418.html

    http://www.cnblogs.com/supermap/archive/2006/07/01/440418.html

  • 相关阅读:
    怎样从外网访问内网MongoDB数据库?
    怎样从外网访问内网MySQL数据库?
    怎样从外网访问内网Tomcat?
    怎样从外网访问内网Oracle数据库?
    怎样从外网访问内网WampServer?
    怎样从外网访问内网Jupyter Notebook?
    怎样从外网访问内网RESTful API?
    怎样从外网访问内网WebSphere?
    系统性能测试步骤
    性能相关面试题
  • 原文地址:https://www.cnblogs.com/xiangniu/p/2921227.html
Copyright © 2011-2022 走看看