简介

  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. C# 处理应用程序减少内存占用

    SetProcessWorkingSetSize减少内存占用 系统启动起来以后,内存占用越来越大,使用析构函数.GC.Collect什么的也不见效果,后来查了好久,找到了个办法,就是使用 SetPro ...

  2. C#串口通讯实例

    本文参考<C#网络通信程序设计>(张晓明  编著) 程序界面如下图: 参数设置界面代码如下: using System; using System.Collections.Generic; ...

  3. 【转】oracle内存分配和调优总结

    转自 http://blog.itpub.net/12272958/viewspace-696834/ 一直都想总结一下oracle内存调整方面的知识,最近正好优化一个数据库内存参数,查找一些资料并且 ...

  4. AFNetworking 3.0

    AFN 一.什么是AFN 全称是AFNetworking,是对NSURLConnection的一层封装 虽然运行效率没有ASI高,但是使用比ASI简单 在iOS开发中,使用比较广泛 AFN的githu ...

  5. 通过gradle来导入jar包

    1.通过gradle配置第三方jar包 我们看到,每个module都有一个build.gradle文件,它其实是对应module的配置文件.关于build.gradle文件中具体内容的含义,我们将在最 ...

  6. 返回顶部demo

    <!DOCTYPE html><html lang="en"> <head> <meta charset="UTF-8" ...

  7. linux别名和快捷键

    别名永久生效和删除别名 永久生效: vi ~./bashrc 写入环境变量配置文件 删除别名: unalias 别名 source命令可以让本身需要重新登录的命令不重新登录也生效 命令生效顺序: 1. ...

  8. mysql数据库的基本操作

    mysql数据库的基本操作dos命令启动mysql服务:net start mysql启动数据库: mysql -uroot -p查看所有的数据库:show databases:新建数据库:creat ...

  9. Hot code replace failed

    今天在eclipses中 修改代码,保存时会出时不时出现Hot code replace failed 对话框,谷歌提示是在debug模式下保存修改源代码会出现此类问题.确实,刚刚在用debug功能, ...

  10. Advanced SystemCare 系统优化软件

    这是一款国外非常流行的系统优化软件,功能很全面,而且中文版用起来也没有语言障碍. Pro版: C0184-8F31F-4B337-296F7 8DE4A-352D9-B4531-D60F7 5B91B ...