XtraTabPage右键菜单(关闭当前页、关闭其它页、所有关闭的实现)
2017-11-08 14:52
459 查看
实现的需求:
用户习惯是一个不可忽略的东西,默认这版的dx的tab也木有右键操作,但用户习惯操作如浏览器都有右键关闭功能,故这里实现先dx的该功能
技术实现:
(1)在winform的相应控件内,拖入以下dx的控件
(2)初始化右键的菜单项
1 private void InitPopMenu() 2 { 3 BarButtonItem barItemCurrent = new BarButtonItem 4 { 5 Name = "barItemCurrent", 6 Caption = "关闭当前" 7 }; 8 barItemCurrent.ItemClick -= BarItemCloseCurrentClick; 9 barItemCurrent.ItemClick += BarItemCloseCurrentClick; 10 BarButtonItem barItemOther = new BarButtonItem 11 { 12 Name = "barItemOther", 13 Caption = "关闭其他" 14 }; 15 barItemOther.ItemClick -= BarItemCloseOtherClick; 16 barItemOther.ItemClick += BarItemCloseOtherClick; 17 BarButtonItem barItemAll = new BarButtonItem 18 { 19 Name = "barItemAll", 20 Caption = "关闭全部" 21 }; 22 barItemAll.ItemClick -= BarItemCloseAllClick; 23 barItemAll.ItemClick += BarItemCloseAllClick; 24 popupMenu.LinksPersistInfo.AddRange(new LinkPersistInfo[] { new LinkPersistInfo(barItemCurrent), new LinkPersistInfo(barItemOther), new LinkPersistInfo(barItemAll) }); 25 }
(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内关闭按钮的小叉叉跟拖拽的鼠标左键拖拽代码冲突,就是说点击小叉叉不能关闭了。好在后来找到了解决方法~
相关文章推荐
- [DevExpress]XtraTabControl右键加入关闭当前页、关闭其它页、所有关闭的实现
- C#中用鼠标右键选中tabpage选项卡 并且弹出右键菜单,实现选项卡的关闭
- [DevExpress]XtraTabControl右键添加关闭当前页、关闭其他页、全部关闭的实现
- C#中用鼠标右键选中tabpage选项卡 并且弹出右键菜单,实现选项卡的关闭
- C#中用鼠标右键选中tabpage选项卡 并且弹出右键菜单,实现选项卡的关闭
- arcengine实现右键菜单打开/关闭所有图层
- 关于右键菜单实现子窗口最大化,最小化,还原和关闭的小感想
- c#添加事件,以xtraTabPage控件添加MouseWheel事件为例,实现图像的放大缩小
- jQuery EasyUI右键菜单实现关闭标签/选项卡
- Ext.ux.TabCloseMenu插件的使用(TabPanel右键关闭菜单) 示例
- easyui最简单的左右布局实现,及tab的右键菜单实现
- layout布局和tab的右键菜单实现
- JQuery EasyUI 最简单的左右布局实现及tab的右键菜单实现
- JQuery EasyUI 最简单的左右布局实现及tab的右键菜单实现
- JQuery EasyUI Tree和tab右键菜单实现
- J2EE系列:右键快捷菜单实现jquery easyui tabs 刷新关闭
- JQuery EasyUI 最简单的左右布局实现及tab的右键菜单实现
- C#窗体程序入门,实现3秒倒计时关闭显示器,实现系统托盘,右键菜单。
- JS实现的仿东京商城菜单、仿Win右键菜单及仿淘宝TAB特效合集
- JS实现的仿东京商城菜单、仿Win右键菜单及仿淘宝TAB特效合集