在XtraNavBar 点击某项时实现弹出快捷菜单功能,只需要稍作修改,可实现右键弹出菜单功能
结果图:
代码:
using
DevExpress.XtraNavBar;
using DevExpress.XtraNavBar.ViewInfo;
构造函数 #region 构造函数
public FormMain()
...{
InitializeComponent();
navBarItemQuotation.LinkClicked += new NavBarLinkEventHandler(navBarItemQuotation_LinkClicked);
}
#endregion
面板 - 报价单工作台 #region 面板 - 报价单工作台
void navBarItemQuotation_LinkClicked(object sender, NavBarLinkEventArgs e)
...{
Point p = MousePosition;
//NavBarControl navBar = (sender as NavBarItem).NavBar as NavBarControl;
NavBarControl navBar = e.Link.NavBar;
FieldInfo fi = navBar.GetType().GetField("viewInfo", BindingFlags.NonPublic | BindingFlags.Instance);
NavBarViewInfo vi = fi.GetValue(navBar) as NavBarViewInfo;
//NavGroupInfoArgs gInfo = vi.Groups[navBar.Groups.IndexOf(group)] as NavGroupInfoArgs;
//return gInfo.Bounds;
NavLinkInfoArgs lInfo = vi.GetLinkInfo(e.Link) as NavLinkInfoArgs;
Rectangle rec = lInfo.ImageRectangle;
Point popPoint = navBar.PointToScreen(new Point(rec.Left + 8, rec.Bottom - 3));
popupMenuQuotation.ShowPopup(popPoint);
}
#endregion
using DevExpress.XtraNavBar.ViewInfo;
构造函数 #region 构造函数
public FormMain()
...{
InitializeComponent();
navBarItemQuotation.LinkClicked += new NavBarLinkEventHandler(navBarItemQuotation_LinkClicked);
}
#endregion
面板 - 报价单工作台 #region 面板 - 报价单工作台
void navBarItemQuotation_LinkClicked(object sender, NavBarLinkEventArgs e)
...{
Point p = MousePosition;
//NavBarControl navBar = (sender as NavBarItem).NavBar as NavBarControl;
NavBarControl navBar = e.Link.NavBar;
FieldInfo fi = navBar.GetType().GetField("viewInfo", BindingFlags.NonPublic | BindingFlags.Instance);
NavBarViewInfo vi = fi.GetValue(navBar) as NavBarViewInfo;
//NavGroupInfoArgs gInfo = vi.Groups[navBar.Groups.IndexOf(group)] as NavGroupInfoArgs;
//return gInfo.Bounds;
NavLinkInfoArgs lInfo = vi.GetLinkInfo(e.Link) as NavLinkInfoArgs;
Rectangle rec = lInfo.ImageRectangle;
Point popPoint = navBar.PointToScreen(new Point(rec.Left + 8, rec.Bottom - 3));
popupMenuQuotation.ShowPopup(popPoint);
}
#endregion