实现的需求:

用户习惯是一个不可忽略的东西,默认这版的dx的tab也木有右键操作,但用户习惯操作如浏览器都有右键关闭功能,故这里实现先dx的该功能

技术实现:

(1)在winform的相应控件内,拖入以下dx的控件

(2)初始化右键的菜单项

         private void InitPopMenu()
{
BarButtonItem barItemCurrent = new BarButtonItem
{
Name = "barItemCurrent",
Caption = "关闭当前"
};
barItemCurrent.ItemClick -= BarItemCloseCurrentClick;
barItemCurrent.ItemClick += BarItemCloseCurrentClick;
BarButtonItem barItemOther = new BarButtonItem
{
Name = "barItemOther",
Caption = "关闭其他"
};
barItemOther.ItemClick -= BarItemCloseOtherClick;
barItemOther.ItemClick += BarItemCloseOtherClick;
BarButtonItem barItemAll = new BarButtonItem
{
Name = "barItemAll",
Caption = "关闭全部"
};
barItemAll.ItemClick -= BarItemCloseAllClick;
barItemAll.ItemClick += BarItemCloseAllClick;
popupMenu.LinksPersistInfo.AddRange(new LinkPersistInfo[] { new LinkPersistInfo(barItemCurrent), new LinkPersistInfo(barItemOther), new LinkPersistInfo(barItemAll) });
}

(3)绑定tab页的右键

        private void XtraTabControlMouseUp(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Right)
{
XtraTabControl tabCtrl = sender as XtraTabControl;
var pt = e.Location;
if (tabCtrl != null)
{
XtraTabHitInfo info = tabCtrl.CalcHitInfo(pt);
if (info.HitTest == XtraTabHitTest.PageHeader)
{
popupMenu.ShowPopup(MousePosition);
}
}
}
}

(4).效果图如下:

ok,到此右键菜单完成,建议封装一个继承与XtraTabControl的用户自定义控件,在此用户控件内封装好右键菜单。

下一次,讲一下tab页的拖拽,这里透漏一下,实际项目里遇到了dx里tab内关闭按钮的小叉叉跟拖拽的鼠标左键拖拽代码冲突,就是说点击小叉叉不能关闭了。好在后来找到了解决方法~

XtraTabPage右键菜单(关闭当前页、关闭其它页、所有关闭的实现)的更多相关文章

  1. [DevExpress]XtraTabControl右键加入关闭当前页、关闭其它页、所有关闭的实现

    private void xtraTabControl_MouseDown(object sender, MouseEventArgs e) { if (e.Button == MouseButton ...

  2. Flex4_Tree组件1(添加、删除、展开、关闭、右键菜单)

    1.屏蔽系统菜单:工程目录“html-template”文件夹-->“index.template.html”文件中,在var params = {};语句下添加新语句:        para ...

  3. arcengine实现右键菜单打开/关闭所有图层

    参考资料:  http://developer.51cto.com/art/201104/256774.htm 参照后自己做的: 关于右键菜单的几个有价值的网址: http://blog.csdn.n ...

  4. easyui修复浏览器刷新后,tab页全部关闭的问题

    一.问题描述 使用easyui搭建的上左右页面布局,当我们在右侧打开了tab页,发现点击浏览器的刷新按钮后,整个页面会被重新渲染,导致所有打开的tab页都被关闭,回到初始状态的问题. 这个问题虽然不影 ...

  5. 使用easyui为tab页增加右键菜单

    在使用easyui进行上左右布局一文中,我们已经使用easyui搭建起了一个简单的上左右布局.在使用的过程中,我们经常会遇到tab页打开的太多,但只能一个一个的关闭的烦恼,这个时候有没有想到eclip ...

  6. JS关闭当前页面的方法

    JS关闭当前页面的方法 一.不带任何提示关闭窗口的js代码 1 <a href="javascript:window.opener=null;window.open('','_self ...

  7. chrome JS关闭当前页无效问题

    如果没有父窗口,JS中 window.opener = null; window.open("", "_self"); window.close(); 对chr ...

  8. ThinkPHP 表单提交操作成功后执行JS操作如何刷新父页面或关闭当前页等操作

    ThinkPHP 表单提交操作成功后执行JS操作如何刷新父页面或关闭当前页等操作 .操作成功后刷新父页面 $this->assign('jumpUrl', "javascript:wi ...

  9. js打开新页面 关闭当前页 关闭父页面

    js打开新页面.关闭当前页.关闭父页面 2010-04-29 14:04:13|  分类: 页面与JavaScript |  标签: |字号大中小 订阅     //关闭当前页面,并且打开新页面,(不 ...

随机推荐

  1. Python基本数据类型集合、格式化、函数

    一.变量总结 1.1 变量定义 记录某种状态或者数值,并用某个名称代表这个数值或状态. 1.2 变量在内存中的表现形式 Python 中一切皆为对象,数字是对象,列表是对象,函数也是对象,任何东西都是 ...

  2. jeesite模块解析,功能实现

    做为十分优秀的开源框架,JeeSite拥有着很多实用性的东西. 默认根路径跳转 定义了无Controller的path<->view直接映射 <mvc:view-controller ...

  3. 【Leedcode】Insertion Sort List

    Sort a linked list using insertion sort. /** * Definition for singly-linked list. * struct ListNode ...

  4. tornado 02 输出、输入和URL传参

    tornado 02 输出.输入和URL传参 一.输出 write输出到页面 #write可以接受的对象 #write() 可以接受3种对象:bytes Unicode字符(二进制字符) 字典 #如果 ...

  5. rest-assured的根路径(root path)和URL编码(URL Encoding)

    一.根路径(Root path) 为了避免在body方法中使用重复的路径来断言,我们可以指定一个根路径(root path),比如: 我们以前的写法是: when(). get("/some ...

  6. 队列 102 Binary Tree Level Order Traversal

    队列的基本应用 - 广度优先遍历 1)树 : 层序遍历: 2)图:无权图的最短路径. 使用队列来实现二叉树的层序遍历,需要多关注一个层数的信息 /** * Definition for a binar ...

  7. webstrom 搭建 nodejs

    1.安装好 nodejs .下载地址 http://nodejs.org/#download,一路next,位置自己定,直到完成. 2.安装好 webstorm.官网下载,破解方法很多,自己搜吧. 3 ...

  8. dedecms 中变量函数

    {dede:global.cfg_cmsurl/} 是网站根目录{dede:global.cfg_cmsurl/} 是当前目录{dede:global.cfg_templets_skin/} 当前模板 ...

  9. h5列表页的性能优化

    //0.还原状态 caoke.loading=false $(".loadbtn").text("点击加载更多") //1 还没有任何数据的情况 if(data ...

  10. python3.6从含有html代码的json的中取出某个值

    python3.6从含有html代码的json的中取出某个值 之前在做接口测试的时候,网站的后端是用java写的,然后接口的response返回的都是json格式,json很简单,就是字典,类似这样子 ...