由于使用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;

        }

学习了!

相关文章:

  • 2022-12-23
  • 2021-11-18
  • 2022-01-12
  • 2021-10-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-08-21
  • 2021-12-10
  • 2022-02-25
  • 2022-12-23
  • 2022-01-06
  • 2021-08-19
相关资源
相似解决方案