BarManager菜单栏加载与菜单项点击事件详解|devExpress教程
BarManager是一个菜单栏管理类,主要是在C#桌面应用中显示菜单栏的作用,如何使用dev BarManager来加载菜单项呢?首先我们需要使用devExpress控件拖拽一个barmanager控件到界面中,如图:

拖拽了一个BarManager控件之后就会在MainPanel.cs类中的InitializeComponent组件初始化方法中生成大概如下这两行代码:
private void InitializeComponent()
{
this.barManager1 = new DevExpress.XtraBars.BarManager(this.components);
this.menubar = new DevExpress.XtraBars.Bar();
}该如何给dev BarManager添加菜单项,并给菜单项添加点击事件呢?我们可以在mainPanel面板加载的时候就来加载BarManager菜单项,并给菜单项添加点击事件,代码如下:
//MainPanel界面初始化方法
private void MainPanel_Load(object sender, EventArgs e)
{
barManager1.BeginUpdate();
//添加菜单选项
menubar.AddItems(getMenuList());
//添加点击事件
barManager1.ItemClick += new ItemClickEventHandler(barButtonItem1_ItemClick);
barManager1.EndUpdate();
}
//将所有的菜单按钮封装到BarButtonItem数组中
public BarButtonItem[] getMenuList() {
List<String> menuList = new List<string>();
menuList.Add("系统权限");
menuList.Add("基础数据");
menuList.Add("基本业务");
menuList.Add("客服管理");
menuList.Add("外观(A)");
menuList.Add("窗体(W)");
BarButtonItem[] itemArray = new BarButtonItem[menuList.Count];
for (int i=0; i<menuList.Count; i++) {
BarButtonItem item = new BarButtonItem(barManager1, menuList[i]);
itemArray[i] = item;
}
return itemArray;
}
//点击事件的实现
private void barButtonItem1_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
{
BarButtonItem buttonItem = e.Item as BarButtonItem;
BarManager manager = sender as BarManager;
MessageBox.Show(sender+"==="+buttonItem.Caption);
}MainPanel界面添加了BarManager菜单项之后的效果如下:

点击上方的每一个菜单选项会触发BarManager菜单项点击事件,如下所示:
