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开发框架网发布内容,转载请附上原文出处连接
post YES开发框架