void DefaultController_GetActiveObjectInfo(object sender, ToolTipControllerGetActiveObjectInfoEventArgs e) { NavBarControl navBar = e.SelectedControl as NavBarControl; if (navBar != null) { NavBarHitInfo hi = navBar.CalcHitInfo(e.ControlMousePosition); if (hi.InLink) { SuperToolTip superTip = new SuperToolTip(); SuperToolTipSetupArgs args = new SuperToolTipSetupArgs(); args.Title.Text = hi.Link.Caption; superTip.Setup(args); e.Info.SuperTip = superTip; } else if (hi.InGroup) { SuperToolTip superTip = GetSuperTipByGroup(hi.Group); { if (e.Info == null) { e.Info = new ToolTipControlInfo(e.SelectedControl, ""); } e.Info.ToolTipType = ToolTipType.SuperTip; e.Info.SuperTip = superTip; } } } }
private void NavBar_MouseClick(object sender, MouseEventArgs e) { NavBarControl nav = (sender as NavBarControl); //取到NavBarControl对象引用 NavBarHitInfo hh = nav.CalcHitInfo(e.Location); //计算点击区域的对象 NavBarGroup group = hh.Group; bool InGroup = hh.InGroup; bool InGroupCaption = hh.InGroupCaption; if (InGroup && InGroupCaption)//点击导航分组按钮 { try { if (group != nav.ActiveGroup) { nav.ActiveGroup = group; } else { //if (CurrentModule != null) // CurrentModule.Activate(); } } catch (Exception ex) { throw ex; } } }
private void navBarControl1_MouseDown(object sender, MouseEventArgs e) { NavBarHitInfo hInfo = ((NavBarControl)sender).CalcHitInfo(e.Location); if (hInfo.InGroupCaption && !hInfo.InGroupButton) { hInfo.Group.Expanded = !hInfo.Group.Expanded; } }
private void navBarControl1_MouseDown(object sender, MouseEventArgs e) { if (e.Button == MouseButtons.Left) { NavBarControl navBar = sender as NavBarControl; NavBarHitInfo hitInfo = navBar.CalcHitInfo(new Point(e.X, e.Y)); if (hitInfo.InGroupCaption && !hitInfo.InGroupButton) { hitInfo.Group.Expanded = !hitInfo.Group.Expanded; } } }
private void navBarControl1_MouseUp(object sender, MouseEventArgs e) { NavBarHitInfo hInfo = ((NavBarControl)sender).CalcHitInfo(e.Location); if (hInfo.InGroupCaption && !hInfo.InGroupButton) { for (int i = 0; i < ((NavBarControl)sender).Groups.Count; i++) { ((NavBarControl)sender).Groups[i].Expanded = false; } hInfo.Group.Expanded = !hInfo.Group.Expanded; } }
private void navBarControl1_MouseDown(object sender, MouseEventArgs e) { NavBarHitInfo info = this.navBarControl1.CalcHitInfo(new Point(e.X, e.Y)); if (info.InLink) { tsmiOpenNewTab.Enabled = true; } else { tsmiOpenNewTab.Enabled = false; } }
void NavBar_MouseMove(object sender, MouseEventArgs e) { NavBarControl navBar = sender as NavBarControl; NavBarHitInfo info = navBar.CalcHitInfo(e.Location); if (info.InLink) { tooltip.ShowHint(((NavBarData)info.Link.Item.Tag).Contact, e.Location); } else { tooltip.HideHint(true); } }
///// <summary> ///// 当点击导航组件的组按钮时触发事件 ///// </summary> //protected void OnActiveGroupChanged(object sender, DevExpress.XtraNavBar.NavBarGroupEventArgs e) //{ // try // { // string moduleName = e.Group.Caption.ToString(); // //显示模块主窗体 // _ModuleManager.ActiveModule(moduleName); // } // catch (Exception ex) { Msg.ShowException(ex); } //} /// <summary> /// 点击导航分组按钮时触发该事件 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void OnNavBar_MouseClick(object sender, MouseEventArgs e) { NavBarControl nav = (sender as NavBarControl); //取到NavBarControl对象引用 NavBarHitInfo hit = nav.CalcHitInfo(e.Location); //计算点击区域的对象 if (hit.InGroup && hit.InGroupCaption) //点击导航分组按钮 { try { nav.ActiveGroup = hit.Group; //立即设置为激活的组 string moduleName = hit.Group.Caption.ToString(); //取组按钮的标题(模块的名称) _ModuleManager.ActiveModule(moduleName); //激活显示模块 } catch (Exception ex) { Msg.ShowException(ex); } } }
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)); }
private void navBarControl1_MouseUp(object sender, System.Windows.Forms.MouseEventArgs e) { if (e.Button == MouseButtons.Left) { NavBarHitInfo info = (sender as NavBarControl).CalcHitInfo(new Point(e.X, e.Y)); if (info.InGroupButton && !info.Group.Expanded) { if (MessageBox.Show("Expand group?", "Confirmation", MessageBoxButtons.YesNo) == DialogResult.Yes) { info.Group.Expanded = true; } else { ((DevExpress.Utils.DXMouseEventArgs)e).Handled = true; } } } }
/// <summary> /// 群组列表右键菜单 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void ChatNav_MouseDown(object sender, MouseEventArgs e) { if (e.Button == MouseButtons.Right) { NavBarHitInfo hit = ChatNav.CalcHitInfo(e.Location); if ((!hit.InLink)) { return; } if (hit.Group.Name != "navBarGroup2") { return; } Point p = new Point(e.Location.X, e.Location.Y + ChatNav.Appearance.Item.FontHeight); popupMenu1.ShowPopup(ChatNav.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)); }
private void navBarControl1_Click(object sender, EventArgs e) { NavBarControl navMainMenu = (NavBarControl)sender; Point point = navMainMenu.PointToClient(Control.MousePosition); NavBarHitInfo info = navMainMenu.CalcHitInfo(point); if (info.NavBar.PressedGroup != null) { NavBarGroup navGroup = info.NavBar.PressedGroup; if (navGroup.Name.Equals("mnuLogOff")) { UiUtility.IsLogOut = true; this.Close(); //this.frmMainMenu_FormClosed(this, new FormClosedEventArgs(CloseReason.FormOwnerClosing)); //this.frmMainMenu_FormClosing(this, new FormClosingEventArgs(CloseReason.FormOwnerClosing, false)); } else { HTN.BITS.UIL.PLASESS.Properties.Settings.Default.LastActiveGroup = navGroup.Name; } } }
void InitDemo() { // 创建一个NarBar; navBar = new NavBarControl(); ((System.ComponentModel.ISupportInitialize)(navBar)).BeginInit(); navBar.Dock = System.Windows.Forms.DockStyle.Fill; navBar.DragDropFlags = ((DevExpress.XtraNavBar.NavBarDragDrop)(((DevExpress.XtraNavBar.NavBarDragDrop.AllowDrag | DevExpress.XtraNavBar.NavBarDragDrop.AllowDrop) | DevExpress.XtraNavBar.NavBarDragDrop.AllowOuterDrop))); navBar.Location = new System.Drawing.Point(0, 0); navBar.Margin = new System.Windows.Forms.Padding(2); navBar.Name = "navBar"; navBar.OptionsNavPane.ExpandedWidth = 139; navBar.Size = new System.Drawing.Size(139, 373); navBar.StoreDefaultPaintStyleName = true; navBar.TabIndex = 3; navBar.Text = "navBar"; navBar.MouseDown += (sender, e) => { if (e.Button != MouseButtons.Right) { return; } var navBarControl1 = sender as NavBarControl; NavBarHitInfo hi = navBarControl1.CalcHitInfo(new Point(e.X, e.Y)); selectedGroup = hi.Group; if (hi.InLink) { selectedLink = hi.Link; return; } }; ucToolbox1.Controls.Add(navBar); ((System.ComponentModel.ISupportInitialize)(navBar)).EndInit(); #region Init NavBarGroup 数据 && NavBarItem 数据 List <CListItem> navBarGroups = new List <CListItem>(); navBarGroups.Add(new CListItem("Table", "表结构")); navBarGroups.Add(new CListItem("TableData", "数据脚本")); navBarGroups.Add(new CListItem("SysConst", "系统常量")); navBarGroups.Add(new CListItem("ErrorNo", "标准错误号")); Dictionary <string, List <CListItem> > DicnavBarItems = new Dictionary <string, List <CListItem> >(); List <CListItem> lstTable = new List <CListItem>(); lstTable.Add(new CListItem("GenerTableSql", "数据库脚本")); DicnavBarItems.Add("Table", lstTable); List <CListItem> lstTableData = new List <CListItem>(); lstTableData.Add(new CListItem("TableDataSql", "基础数据脚本")); lstTableData.Add(new CListItem("DictionarySql", "数据字典数据脚本")); lstTableData.Add(new CListItem("MenuSql", "系统菜单数据脚本")); lstTableData.Add(new CListItem("FunctionSql", "系统功能数据脚本")); DicnavBarItems.Add("TableData", lstTableData); foreach (CListItem navBarGroup in navBarGroups) { NavBarGroup standardGroup = navBar.Groups.Add(); standardGroup.Caption = navBarGroup.Text; standardGroup.Tag = navBarGroup.Value; standardGroup.Expanded = true; // 如果没有子项则继续 if (!DicnavBarItems.ContainsKey(navBarGroup.Value)) { continue; } List <CListItem> narBarItems = DicnavBarItems[navBarGroup.Value]; foreach (CListItem narBarItem in narBarItems) { NavBarItem item = new NavBarItem(); item.Caption = narBarItem.Text; item.Tag = narBarItem.Value; item.Name = narBarItem.Value; item.Hint = narBarItem.Text; item.LinkClicked += Item_LinkClicked; navBar.Items.Add(item); standardGroup.ItemLinks.Add(item); } } #endregion }