Popup Menus 弹出菜单

使用弹出菜单(popup menus),我们可以在   控件上   显示   上下文选项   或  命令

弹出菜单是一个显示了特定项的窗体,用户可以选择这些项以执行相应的操作。

使用PopupMenu控件就可以在我们的应用程序中使用弹出菜单。

通过BarManager的“名称”+“PopupContenxtMenu”属性绑定PopuMenus控件


注意:

在定制和使用popup menu之前,需要向窗体上添加一个bar manager并确保这个popup menu绑定 了这个bar manager


默认情况下,在设计时(at design time)添加到窗体的弹出菜单会自动地寻找窗体内的 bar manager

如果找到的话,会通过PopupMenu.Manager属性将其绑定到bar manager。

如果没有自动绑定到bar manager,那就通过PopupMenu.Manager属性手动绑定。

以下是PopupMenu组件的使用方法:

第一步:从工具箱中将BarManager拉入窗体


第二步:在BarManager控件中点击

添加几个BarSubItem项(子项-有下一级菜单)。


第三步:在BarManager控件中点击添加几个BarBottonItem(最终项)。


第四步:从工具箱中将PopupMenu拉入窗体,设置PopupMenu的Manager属性为barManager1


第五步:右击PopupMenu在弹出的菜单内选中Customize,

然后在弹出的对话框中, 把想要在右键菜单中显示的项   拉进PopupMenu中就OK了,或者手工添加

核心步骤 第六步:

在需要右击后弹出菜单的控件上, 监听xxxx_MouseUp事件,

添加以下代码段, 弹出PopupMenu菜单

if (e.Button == MouseButtons.Right)
{
popupMenu1.ShowPopu(Control.MousePosition);
}

效果如下:

RadialMenu控件

该控件是圆形菜单,可以以菜单的形式添加菜单项;

该控件的ShowPopup(Point point)方法用于显示圆形菜单

该控件必须绑定到RibbonControl或者BarManager的属性上去


代码如下:

private void RadialMenuForm_MouseUp(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Right)
{
radialMenu1.ShowPopup(Control.MousePosition);
}
}

效果如下:


XtraTabControl控件

XtraTabControl:显示多个选项卡

XtraTabPage: 选项卡页

SelectedTabPage: XtraTabControl的一个属性,可设置或取得当前选项卡页。

设置Tab头部的方向:

Headerlocation=left
HeaderOrientation=Horizontal

1、TabPages属性

以集合的形式存储page页;

使用代码添加页:

using DevExpress.XtraTab;

XtraTabPage page = new XtraTabPage();
page.Text = "beyond";
xtraTabControl1.TabPages.Add(page);

2、MultiLine属性

把其值设为true, 当可用空间不够显示的页标题的长度时,允许页头进行多行显示.

xtraTabControl1.MultiLine = DevExpress.Utils.DefaultBoolean.True;

3、SelectedTabPage属性

设定默认情况下显示的页(XtraTabPage对象);

获取或设置当前选定选项卡页的索引。

xtraTabControl.SelectedTabPageIndex = ;

4、ClosePageButttonShowMode属性

该属性控制哪一页上显示关闭按钮。

示例代码如下:

this.xtraTabControl1.ClosePageButtonShowMode = DevExpress.XtraTab.ClosePageButtonShowMode.InActiveTabPageAndTabControlHeader;

效果如图:

在Tab中显示关闭按钮: 
设置xtraTabControl1的属性 ClosePageButtonShowMode 为InAllTabPageHeaders 
设置XtraTabPage的属性ShowCloseButton属性为true

5、HeaderButton属性:

可以通过该属性设置该控件右上角显示的按钮,

可以添加 Close, Next 和Prev 按钮等。

6、SelectedPageChanged 事件

private void xtraTabControl1_SelectedPageChanged(object sender, DevExpress.XtraTab.TabPageChangedEventArgs e)

        {

            //通过不同的TabPage名称,加载对应方法

             if (e.Page.Name=="xtraTabPage1")

            {

                InitRoleBindingSource();

                SetRoleChecked();

            }

            else if (e.Page.Name=="xtraTabPage2")

            {

                InitEntSelectBindingSource();

                SetEntSelectChecked();

            }

        }

7、添加和删除TabPage

https://blog.csdn.net/hyj_13/article/details/20314463

SplitContainerControl控件

实现效果如图:


该控件的PanelVisibility属性:

控制  面板Panel1和面板Panel2的可见性,


代码如下:

//仅Panel1可见
splitContainerControl2.PanelVisibility= DevExpress.XtraEditors.SplitPanelVisibility.Panel1; //Panel1、Panel2都可见
splitContainerControl2.PanelVisibility= DevExpress.XtraEditors.SplitPanelVisibility.Both;

该控件的Horizontal属性:

控制面板是成左右分割还是上下分割,

其值为true表示成左右分割布局;

其值为false表示成上下分割布局;


该控件的LookAndFeel属性:

提供了改变控件外观的权限,

该属性下的UseDefaultLookAndFeel为false时,可以通过该控件的Appearance属性对外观进行设置;


GroupControl控件

实现效果如图:


该控件的ShowCaption属性,是bool类型,当其值为false时,表示不显示标题;

该控件的CaptionImage属性可以设置标题前的图片显示,例如:

this.groupControl1.CaptionImage=global::WindowsDev.Properties.Resources.additem_32x32;

该控件的LookAndFeel属性下的UseDefaultLookAndFeel属性控制:

是否可对皮肤进行设置,为bool类型;

该控件的BorderStyle属性控制控件的边框样式:


示例代码如下:

groupControl1.BackColor = Color.LightGray;

groupControl1.LookAndFeel.UseDefaultLookAndFeel =false ;

groupControl1.ShowCaption = true;

groupControl1.BorderStyle=  DevExpress.XtraEditors.Controls.BorderStyles.Simple;

DevExpress06、Popup Menus、RadialMenu、XtraTabControl、SplitContainerControl、GroupControl的更多相关文章

  1. Leaflet:Marker、Popup类

    Marker.Popup.Tooltip类都是继承自Layer类:Event与Layer Marker 1.用例 L.marker([41,123]).addTo(map); 2.实例化 L.mark ...

  2. MyBatis学习(二)、SQL语句映射文件(2)增删改查、参数、缓存

    二.SQL语句映射文件(2)增删改查.参数.缓存 2.2 select 一个select 元素非常简单.例如: <!-- 查询学生,根据id --> <select id=" ...

  3. Lucene.net站内搜索—4、搜索引擎第一版技术储备(简单介绍Log4Net、生产者消费者模式)

    目录 Lucene.net站内搜索—1.SEO优化 Lucene.net站内搜索—2.Lucene.Net简介和分词Lucene.net站内搜索—3.最简单搜索引擎代码Lucene.net站内搜索—4 ...

  4. win10如何让她闭嘴、按什麽建系统都要说话、如何让她闭嘴?

    win10如何让她闭嘴.按什麽建系统都要说话.如何让她闭嘴? 开始 设置 轻松使用 讲述人,关掉……

  5. 传智播客JavaWeb day07、day08-自定义标签(传统标签和简单标签)、mvc设计模式、用户注册登录注销

    第七天的课程主要是讲了自定义标签.简单介绍了mvc设计模式.然后做了案例 1. 自定义标签 1.1 为什么要有自定义标签 前面所说的EL.JSTL等技术都是为了提高jsp的可读性.可维护性.方便性而取 ...

  6. StringGrid 实例3: 本例功能: 1、修改 TStringGrid的默认宽与高; 2、添加行; 3、确认当前单元并赋值.

    实例3: 本例功能: 1.修改 TStringGrid的默认宽与高; 2.添加行; 3.确认当前单元并赋值. 实例图形:

  7. 云计算三种服务模式SaaS、PaaS和IaaS及其之间关系(顺带CaaS、MaaS)

    云计算架构图 很明显,这五者之间主要的区别在于第一个单词,而aaS都是as-a-service(即服务)的意思,这五个模式都是近年来兴起的,且这五者都是云计算的落地产品,所以我们先来了解一下云计算是什 ...

  8. socket异步通信-如何设置成非阻塞模式、非阻塞模式下判断connect成功(失败)、判断recv/recvfrom成功(失败)、判断send/sendto

    socket异步通信-如何设置成非阻塞模式.非阻塞模式下判断connect成功(失败).判断recv/recvfrom成功(失败).判断send/sendto 博客分类: Linux Socket s ...

  9. MyBatis学习 之 二、SQL语句映射文件(2)增删改查、参数、缓存

    目录(?)[-] 二SQL语句映射文件2增删改查参数缓存 select insert updatedelete sql parameters 基本类型参数 Java实体类型参数 Map参数 多参数的实 ...

随机推荐

  1. VC++6.0调试:Watch窗口的使用

    #include <stdio.h> #include <windows.h> class AutoExpand { public: AutoExpand(int val, c ...

  2. SQL语句和EF Group by 用法

    1,Group by 根据某个字段排序 select Department,count(*) FROM [PPMG].[dbo].[UnConViolation] group by Departmen ...

  3. Win10 新功能 改变显示器色彩

    如果你是一个爱看书的工作族,相信一定梦想你的电脑变得跟Kindle一样,这样每天盯着电脑几个小时,眼睛都不会痛了……下面就来看看Win10带来的新体验吧! Ctr+ Windows Key + C 可 ...

  4. AutoMapper在项目中的应用

    一.先说说DTO DTO是个什么东东? DTO(Data Transfer Object)就是数据传输对象,说白了就是一个对象,只不过里边全是数据而已. 为什么要用DTO? 1.DTO更注重数据,对领 ...

  5. 面向对象设计模式_享元模式(Flyweight Pattern)解读

    场景:程序需要不断创建大量相似的细粒度对象,会造成严重的内存负载.我们可以选择享元模式解决该问题. 享元抽象:Flyweight 描述享元的抽象结构.它包含内蕴和外蕴部分(别被术语迷惑,这是一种比较深 ...

  6. HDU2444(KB10-B 二分图判定+最大匹配)

    The Accomodation of Students Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K ( ...

  7. js-ES6学习笔记-Iterator

    1.遍历器(Iterator)是一种接口,为各种不同的数据结构提供统一的访问机制.任何数据结构只要部署Iterator接口,就可以完成遍历操作(即依次处理该数据结构的所有成员). 2.Iterator ...

  8. CSS应用的小问题总结

    1.两个元素换行书写时,在实际的布局中展示为两个元素之间多了一个区间(这个区间通常是因为代码在换行时,解析会自动默认为一个空格字符),所以在实际应用时,如果想要将两个元素完全无缝隙的放置在一起并排显示 ...

  9. 排错-Error--memory violation  Exception ACCESS_VIOLATION received解决方

    Error -- memory violation : Exception ACCESS_VIOLATION received   by:授客 QQ:1033553122 测试代码: Action() ...

  10. css字体更小 css比12px更小的方法

    <span style="margin-top: 0;-webkit-transform-origin-x: 0;-webkit-transform: scale(0.90);&quo ...