简介

  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. Caffe.proto使用

    参考 http://blog.csdn.net/qq_16055159/article/details/45115359 书写.proto文件 作用:编写一个 proto 文件,定义我们程序中需要处理 ...

  2. php语言的几种循环语句的使用格式,及其区别

    while 只要指定的条件成立,则循环执行代码块 do...while 首先执行一次代码块,然后在指定的条件成立时重复这个循环 for 循环执行代码块指定的次数 foreach 根据数组中每个元素来循 ...

  3. cs231n笔记:最优化

    本节是cs231学习笔记:最优化,并介绍了梯度下降方法,然后应用到逻辑回归中 引言 在上一节线性分类器中提到,分类方法主要有两部分组成:1.基于参数的评分函数.能够将样本映射到类别的分值.2.损失函数 ...

  4. IO消息机制

    同步阻塞 同步非阻塞 异步阻塞 异步非阻塞 同步是函数自身等待结果 异步可采用状态轮询/通知/回调 返回结果: 阻塞和非阻塞的关注点是在等待消息的时候 线程的状态 同步阻塞 线程挂起 逻辑上函数不马上 ...

  5. python3 filter用法(举例求0~n之间的素数)

    在用python3求0~n之间的素数时,关于filter用法的有点模糊,于是上网查了一下filter用法. 求0~n之间素数的脚本prime.py: def f(x): plist = [0,0] + ...

  6. php查询文件扩展名

    //查询文件扩展名 function extension($str){ $str = implode("",explode("\\",$str)); $str ...

  7. SVM

    sDJgfklJGV;LAKi管理科JF看了UFO李开复LKFLKJF EDJFO很疯狂的复活卡划分KJF

  8. 算法小节(一)——斐波那契数列(java实现)

    看到公司的笔试题中有一道题让写斐波那契数列,自己忙里偷闲写了一下 什么是斐波那契数列:斐波那契数列指的是这样一个数列 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, ...

  9. 【转载】关于OpenGL的图形流水线

    本文转载自 http://blog.csdn.net/racehorse/article/details/6593719 GLSL教程 这是一些列来自lighthouse3d的GLSL教程,非常适合入 ...

  10. php中奖概率算法,可用于刮刮卡,大转盘等抽奖算法

    php中奖概率算法,可用于刮刮卡,大转盘等抽奖算法.用法很简单,代码里有详细注释说明,一看就懂 <?php /* * 经典的概率算法, * $proArr是一个预先设置的数组, * 假设数组为: ...