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 XtraTabbedMdiManager添加右键关闭菜单 (关闭当前页、关闭其它页、所有关闭)
下一篇:API接口安全设计方案
评论列表

发表评论

评论内容
昵称:
关联文章

YES-CMS内容管理系统 售价

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