第一感觉是参考Designer.cs中的界面初始化代码修改:
barSubItemFavirate.LinksPersistInfo.Clear();
lpinfo = new LinkPersistInfo(itemManagerFaviate);
barSubItemFavirate.LinksPersistInfo.Add(lpinfo);
.....
实际操作LinksPersistInfo数组没效果,可能是哪里漏了什么,请大家指导,谢过!
然后自行参考API
API参考-BarManager.class
最终实现的代码如下:
//清空原有子菜单
int menuCount=5;
barSubItemFavirate.ItemLinks.Clear();
barSubItemFavirate.AddItem(itemManagerFaviate);
int maxItemCnt = barMain.Items.Count;
for (int i = 0; i < menuCount; i++)
{
BarButtonItem item=new BarButtonItem();
item.Caption = "动态菜单"+i;
item.Id = 2*maxItemCnt + i;
item.Name = "itemFaviate" + item.Id;
item.ItemClick += new DevExpress.XtraBars.ItemClickEventHandler(itemFaviate_ItemClick);
if (i == 0)
{
BarItemLink itemLink = barSubItemFavirate.AddItem(item);
itemLink.BeginGroup = true;
}
else
{
barSubItemFavirate.AddItem(item);
}
}
本文介绍了如何在Devexpress的BarManager控件中动态添加子菜单。作者在尝试通过LinksPersistInfo数组实现时遇到问题,经过查阅API文档,最终成功实现了动态添加功能。详细实现代码如下:(此处省略具体代码)
3286

被折叠的 条评论
为什么被折叠?



