private void ShowActiveGroupPopup() { if (navBarControl1.OptionsNavPane.NavPaneState == NavPaneState.Collapsed) { NavBarViewInfo viewInfo = navBarControl1.GetViewInfo(); var mi = viewInfo.GetType().GetMethod("DoContentButtonPress", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance); mi.Invoke(viewInfo, null); } }
private void navBarGroup3_CalcGroupClientHeight(object sender, DevExpress.XtraNavBar.NavBarCalcGroupClientHeightEventArgs e) { NavBarViewInfo vi = GetViewInfo(navBarControl1); NavGroupInfoArgs gi = vi.Groups[vi.Groups.Count - 1] as NavGroupInfoArgs; ExplorerBarNavGroupPainter groupPainter = GetGroupPainter(navBarControl1); Size buttonSize; int footerHeight = groupPainter.CalcFooterHeight(gi, out buttonSize); int delta = gi.Bounds.Top - vi.Client.Top; int ch = vi.Client.Height - delta - gi.Bounds.Height - footerHeight; e.Height = ch; }
private void navBarControl1_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e) { // selectedNavBarItem = navBarControl1.v NavBarHitInfo hit = navBarControl1.CalcHitInfo(e.Location); if ((!hit.InLink)) { return; } FieldInfo fi = typeof(NavBarControl).GetField("viewInfo", BindingFlags.NonPublic | BindingFlags.Instance); NavBarViewInfo vi = fi.GetValue(navBarControl1) as NavBarViewInfo; selectedNavBarItem = vi.HotTrackedLink.Item; NavLinkInfoArgs arg = vi.GetLinkInfo(hit.Link); Point p = new Point(arg.Bounds.X, arg.Bounds.Bottom); popupMenu1.ShowPopup(navBarControl1.PointToScreen(p)); }
bool IsCheckBox(Point p) { NavBarHitInfo hi = NavBarControl.CalcHitInfo(p); if (hi.Group == null) { return(false); } ; NavBarViewInfo vi = GetNavBarView(NavBarControl); vi.Calc(NavBarControl.ClientRectangle); NavGroupInfoArgs groupInfo = vi.GetGroupInfo(hi.Group); Rectangle originalCaptionBounds = new Rectangle(groupInfo.CaptionClientBounds.X, groupInfo.CaptionClientBounds.Y, groupInfo.CaptionClientBounds.Width - groupInfo.ButtonBounds.Width, groupInfo.CaptionClientBounds.Height); Rectangle checkBounds = GetCheckBoxBounds(GetCaptionBounds(originalCaptionBounds)); hotGroup = hi.Group; hotRectangle = checkBounds; return(checkBounds.Contains(p)); }