简介

  BarButtonItem:元素(按钮、子菜单、标签、编辑器等) 

this.barButtonItem3 = new DevExpress.XtraBars.BarButtonItem();

  Bar:工具栏,可以停靠在容器(窗体)的任何边缘。当bar被停靠在窗体边缘时,实际上是放置在一个已停靠在此边缘的停靠控件BarDockControl之上。可以在工具栏Bar内部显示任何BarButtonItem:按钮、静态文本、子菜单、编辑器等。

  BarManager:如果需要把菜单Bar添加到窗体或用户控件中,则需要把一个不可视的 BarManager 组件添加到窗体/用户控件中。此组件维护窗体内菜单的布局,响应最终用户操作(例如单击 bar 命令和按键操作),提供自定义功能等。它维护 bars、bar items和 bar item类别的集合。因此您可以使用它的方法来添加、删除和访问这些bar元素。

  当BarManager被创建时,会自动创建四个常规的停靠控件BarDockControl,并把它们停靠在相应的窗体边缘。

  仅当 bar 已经放置在停靠控件BarDockControl上时,停靠控件BarDockControl才可视。在其他所有情况下,停靠控件的宽度都为零。在把bar拖动到窗体的任一边缘时,相应的停靠控件接收并显示此 bar。

  不需要在应用程序中修改常规停靠控件BarDockControl的属性,除非你想为已停靠的 bars 提供背景设置。BarManager自动创建的停靠控件被命名为 barDockControlTop... barDockControlRight。每个停靠控件都由 BarDockControl 类表示。

弹出式菜单PopuMenu

  PopuMenu类似与工具栏Bar,需要BarManager进行管理,但是弹出式菜单拖动到窗体中,不会在窗体中显示。

private DevExpress.XtraBars.BarManager barManager1;
private DevExpress.XtraBars.Bar bar1;
private DevExpress.XtraBars.BarDockControl barDockControlTop;
private DevExpress.XtraBars.PopupMenu popupMenu1;

  下面通过代码声明和绑定一个弹出式菜单。

PopupMenu menu = new PopupMenu();
// Bind the menu to a bar manager.
menu.Manager = barManager1;
// Add two items that belong to the bar manager.
menu.ItemLinks.Add(barManager1.Items["iCopy"]);
menu.ItemLinks.Add(barManager1.Items["iPaste"]);

  要激活弹出式菜单,通常要接管特定的事件。如果鼠标右键被按下,下列代码将显示特定的PopupMenu。

private void Form1_MouseUp(object sender, System.Windows.Forms.MouseEventArgs e) {
if(e.Button == MouseButtons.Right)
popupMenu1.ShowPopup(Control.MousePosition);
}

1

2

Bar菜单的更多相关文章

  1. DotNetBar.Bar菜单的使用

    DotNetBar.Bar菜单的使用 老帅     在C#中使用控件DevComponents.DotNetBar.Bar时,怎样设计菜单呢?      1.拖放生成一个菜单容器      拖放一个D ...

  2. 札记:Fragment基础

    Fragment概述 在Fragment出现之前,Activity是app中界面的基本组成单位,值得一提的是,作为四大组件之一,它是需要"注册"的.组件的特性使得一个Activit ...

  3. sublime使用

    显示侧板的文件夹: View -> Side Bar 菜单[project]->add folder to  project.把文件夹显示在左边的sidebar上. 安装插件: packa ...

  4. 很值得学习的java 画图板源码

    很值得学习的java 画图板源码下载地址:http://download.csdn.net/source/2371150 package minidrawpad; import java.awt.*; ...

  5. Android开源项目库汇总

    最近做了一个Android开源项目库汇总,里面集合了OpenDigg 上的优质的Android开源项目库,方便移动开发人员便捷的找到自己需要的项目工具等,感兴趣的可以到GitHub上给个star. 抽 ...

  6. GitHub上受欢迎的Android UI Library

    GitHub上受欢迎的Android UI Library 内容 抽屉菜单 ListView WebView SwitchButton 按钮 点赞按钮 进度条 TabLayout 图标 下拉刷新 Vi ...

  7. Swing学习2——图标添加Icon接口使用

    废话没有,看代码. 主要就是通过实现Icon接口在标签添加一个圆形图标,并在框架中显示. package com.sword.swing_test; import javax.swing.*; imp ...

  8. Android UI相关开源项目库汇总

    最近做了一个Android UI相关开源项目库汇总,里面集合了OpenDigg 上的优质的Android开源项目库,方便移动开发人员便捷的找到自己需要的项目工具等,感兴趣的可以到GitHub上给个st ...

  9. 用面向对象的编程方式实现飞机大战小游戏,java版

    概述 本文将使用java语言以面向对象的编程方式一步一步实现飞机大战这个小游戏 本篇文章仅供参考,如有写的不好的地方或者各位读者哪里没看懂可以在评论区给我留言 或者邮件8274551712@qq.co ...

随机推荐

  1. JavaScript:substr vs substring vs slice

    参考文章: JavaScript取子串方法slice,substr,substring对比表

  2. Linux Shell数组常用操作详解

    Linux Shell数组常用操作详解 1数组定义: declare -a 数组名 数组名=(元素1 元素2 元素3 ) declare -a array array=( ) 数组用小括号括起,数组元 ...

  3. 使用Application对象简单完成网站总访问人数的统计

      Global.asax文件: using System.IO; protected void Application_Start(object sender, EventArgs e) { Fil ...

  4. JavaScript设计模式学习笔记

    1 JavaScript设计模式深入分析 私有属性和方法:函数有作用域,在函数内用var 关键字声明的变量在外部无法访问,私有属性和方法本质就是你希望在对象外部无法访问的变量. 特权属性和方法:创建属 ...

  5. JavaBean学习总结(上)

    一.何为JavaBean: 遵循特定规则的Java类,必须为共有类: 1. 需要对成员属性私有化: 2. 需要无参的构造函数: 3. 需要通过public方法将私有属性暴露给其他程序,且方法遵循一定命 ...

  6. C#交错数组的用法

    class Program { static void Main(string[] args) { /* *交错数组,就是一个一维数组里面的每一项都是一个一维数组 *new交错数组的时候需要注意int ...

  7. mysql 操作用户权限

    使用可以对mysql数据库用户表有操作权限的用户名登陆mysqlinsert into user(Host,User,Password) values('%','name','password');如 ...

  8. java读取properties文件工具

    public class PropertiesUtil { public static String get(String filePath, String key) { String val = n ...

  9. 三级联动(在YII框架中)

    //三级联动 //数据库代码过多就不上传了 //视图 <div class="area">    <table class="table"&g ...

  10. mysql配置命令 CHARACTER_SET_%字符集设置

    参照: http://blog.csdn.net/mzlqh/article/details/7621307点击打开链接 其实现在的ubuntu12. 直接sudo apt-get install M ...