简介

  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. hash连接

    简单回顾嵌套循环: 两个表关联,较小的表(指使用了过滤条件后结果集较小的表)称为驱动表或者外表(,另一个称为内表.在嵌套连接过程中,oracle首先读取驱动表的第一条数据,然后和内表进行比对,所以匹配 ...

  2. ArcGIS图层介绍

    什么是图层 图层是用来在 ArcGIS 产品套件中显示地理数据集的机制.每个图层代表一种数据集(可以是地图服务.图形或是矢量数据),并指定该数据集是如何描绘使用一组属性的. 包含一个地图控件的每个应用 ...

  3. iOS学习之iOS沙盒(sandbox)机制和文件操作(二)

    1.获取程序的Home目录 NSString *homeDirectory = NSHomeDirectory(); NSLog(@"path:%@", homeDirectory ...

  4. SQLALchemy(连表)、paramiko

    本节内容:

  5. OpenGL坐标变换及其数学原理,两种摄像机交互模型(附源程序)

    实验平台:win7,VS2010 先上结果截图(文章最后下载程序,解压后直接运行BIN文件夹下的EXE程序): a.鼠标拖拽旋转物体,类似于OGRE中的“OgreBites::CameraStyle: ...

  6. RBM阅读笔记

    RBM包含两个层,可见层(visble layer)和隐藏层(hidden layer).神经元之间的连接具有以下特点:层内无连接,层间全连接.RBM可以看做是一个二分图(神经元当做顶点,神经元之间的 ...

  7. Android技术积累:开发规范

    转载自Keegan小钢 http://keeganlee.me/post/android/20150709 书写规范 1. 编码方式统一用UTF-8. Android Studio默认已是UTF-8, ...

  8. java基础小知识

    1.1常量: 基本数据类型常量 字符常量 整数常量的表现形式:一进制的形式来表示(二进制,八进制,十进制,十六进制) 生活中:十进制(0-9)  ,星期(七进制(0-6)) ,时间(十二进制(0-11 ...

  9. iOS 汉字拼音

    获取汉字的拼音 #import <Foundation/Foundation.h> @interface NSString (Utils) /** *  汉字的拼音 * *  @retur ...

  10. 关于 vmware虚拟机的一些问题及解决办法备忘

    有问题讨论 --- 问题:关于vm虚拟机窗口大小全屏按钮无法全屏 解决:安装vm-tools,重启即可 --- 问题:关于vm虚拟机安装xp,尤其还原ghost出错找不到光驱 解决:进入镜像pe安装 ...