Devexpress XtraTabbedMdiManager添加右键关闭菜单 (关闭当前页、关闭其它页、所有关闭)


Devexpress XtraTabbedMdiManager 右键菜单 ( 关闭当前页、关闭其它页、所有关闭 ) 的功能 实现

效果图

一、窗体新增 PopupMenu

设计如下:

二、设置 Popup Item 点击事件

 // 关闭当前
private void barItemCloseCurrent_ItemClick(object sender, ItemClickEventArgs e)
{
    //xtraTabbedMdiManager1
    Form frm = xtraTabbedMdiManager1.SelectedPage.MdiChild;
    if (frm is frmModuleView) return;
    else
        frm.Close();
}
// 关闭所有
private void barItemCloseAll_ItemClick(object sender, ItemClickEventArgs e)
{
    foreach (XtraMdiTabPage page in xtraTabbedMdiManager1.Pages)
    {
        if (page == xtraTabbedMdiManager1.SelectedPage) return;

        Form frm = page.MdiChild;
        if (frm is frmModuleView) return;
        else
            frm.Close();
    }
}
// 关闭其他
private void barItemCloseOthers_ItemClick(object sender, ItemClickEventArgs e)
{

    foreach (XtraMdiTabPage page in xtraTabbedMdiManager1.Pages)
    {
        if (page == xtraTabbedMdiManager1.SelectedPage) return;

        Form frm = page.MdiChild;
        if (frm is frmModuleView) return;
        else
            frm.Close();
    }
}
GarsonZhang www.yesdotnet.com

三、设置 XtraTabledMdiManager 的 MouseUp 事件

鼠标右键 Header 时,弹出 PopupChoseChild 的菜单

 private void xtraTabbedMdiManager1_MouseUp(object sender, MouseEventArgs e)
{
    if (e.Button == MouseButtons.Right)
    {
        var info = xtraTabbedMdiManager1.CalcHitInfo(e.Location);
        if (info.HitTest == DevExpress.XtraTab.ViewInfo.XtraTabHitTest.PageHeader)
        {
            popupCloseChild.ShowPopup(MousePosition);
        }
    }
}
GarsonZhang www.yesdotnet.com

 

到此已经完成

运行程序

鼠标只有右键标题区域 ( 红框内 ),才会出现关闭菜单,其他地方右键,是不会弹出菜单的

版权声明:本文为YES开发框架网发布内容,转载请附上原文出处连接
YES开发框架
上一篇:DevExpress RibbonControl 自定义右键弹出菜单
下一篇:API接口安全设计方案
评论列表

发表评论

评论内容
昵称:
关联文章

Devexpress XtraTabbedMdiManager添加关闭菜单关闭当前关闭其它所有关闭
Devexpress GridControl GridView添加菜单
DevExpress RibbonControl 自定义弹出菜单
YESWEB框架表格自定义菜单
win11菜单恢复默认显示更多选项
Devexpress RibbonControl设置大全
Devexpress表格GridControl主从表点击从表获得当前选中行
jQuery动态添加设置.active属性实现当前选择节点样式
.NET中大型项目开发必备(8)--高效分
使用.NET 6开发TodoList应用(13)——实现查询分
Blazor Webassembly多标签实现非iframe的实现
DevExpress表格GridControl添加操作列单元格添加图片按钮并且实现点击链接URL跳转浏览器
winform 关闭form2的同时显示form1
VS中工具箱Devexpress控件修复
Devexpress GridControl GridView双击事件优化
WPF 组织机构摄像机树 全量加载 大数据量 分加载摄像机节点
Devexpress 运行时会弹出注册或试用日期窗口
百亿级数据 分库分表 后怎么分查询?
Devexpress GridControl表格无法鼠标滚轮上下滚动
在Winform框架的多文档界面中实现双击子窗口单独弹出或拖出及拽回的处理

联系我们
联系电话:15090125178(微信同号)
电子邮箱:garson_zhang@163.com
站长微信二维码
微信二维码