public void OnMenuCallback(NXOpen.BlockStyler.Tree tree, NXOpen.BlockStyler.Node node, int columnID) { TreeListMenu eleMenu = this.treeInfo.CreateMenu(); eleMenu.AddMenuItem(0, "删除", "delete"); this.treeInfo.SetMenu(eleMenu); }
private void AddItem(TreeListMenu menu, NodeMenuItemID id, bool enabled) { DevExpress.Utils.Menu.DXMenuItem item = new DevExpress.Utils.Menu.DXMenuItem(id.ToString()); item.Tag = id; item.ImageOptions.Image = imageCollection.Images[(int)id]; item.Enabled = enabled; item.Click += OnMenuItemClick; menu.Items.Add(item); }
//private string _parentFieldName = "ParentID"; //private bool _isShowTree = true; //private bool _isExpand = false; protected void AddColumnMenu(TreeListMenu menu, TreeListColumn column) { var item = new DXMenuItem("全部展开", (o, ex) => ExpandAll()); item.BeginGroup = true; menu.Items.Add(item); item = new DXMenuItem("全部合上", (o, ex) => CollapseAll()); menu.Items.Add(item); //item = new DXMenuItem("不显示层级", (o, ex) => //{ // if (_isShowTree) // { // _isShowTree = false; // _parentFieldName = ParentFieldName; // ParentFieldName = "~"; // ((DXMenuItem)o).Caption = "显示层级"; // } // else // { // _isShowTree = true; // ParentFieldName = _parentFieldName; // ((DXMenuItem)o).Caption = "不显示层级"; // } // ClearSorting(); //}); //item.BeginGroup = true; //menu.Items.Add(item); if (column != null) { DXMenuItem sortItem = new DXMenuItem("清除排序设置", (oo, ee) => { this.IsConfigChange = true; column.SortOrder = System.Windows.Forms.SortOrder.None; RefreshDataSource(); }, null); sortItem.Enabled = false; sortItem.BeginGroup = true; menu.Items.Add(sortItem); if (column.SortOrder != System.Windows.Forms.SortOrder.None) { sortItem.Enabled = true; } } if (IsShowConfigButton) { DXMenuItem customItem = new DXMenuItem("自定义", delegate { ShowConfigForm(); }, Resources.GridConfig); customItem.BeginGroup = true; menu.Items.Add(customItem); } }
void InsertMenuItems(TreeListMenu menu, Dictionary <string, EventHandler> menuItemsCaptionsAndHandlers) { int mainIndex = 0; int subIndex = 0; bool beginGroup = false; DXSubMenuItem actDropDown = null; foreach (string menuItemCaption_wm in menuItemsCaptionsAndHandlers.Keys) //wm = with marker { bool isSubMenuHeader = menuItemCaption_wm.StartsWith(_subMenuHeadMarker); bool isSubMenu = menuItemCaption_wm.StartsWith(_subMenuMarker); string menuItemCaption = (isSubMenuHeader || isSubMenu) ? menuItemCaption_wm.Substring(1) : menuItemCaption_wm; if (menuItemCaption.StartsWith(_menuSeparator1)) { beginGroup = true; continue; } DXMenuItem menuItem = null; if (isSubMenuHeader) { actDropDown = new DXSubMenuItem(menuItemCaption); menuItem = actDropDown; subIndex = 0; } else { menuItem = new DXMenuItem(menuItemCaption, new EventHandler(menuItemsCaptionsAndHandlers[menuItemCaption_wm])); } menuItem.BeginGroup = beginGroup; beginGroup = false; GreyState(menuItem); if (isSubMenu) { actDropDown.Items.Insert(subIndex++, menuItem); } else { menu.Items.Insert(mainIndex++, menuItem); } } }
//우클릭시 삭제x private void treeList_MouseDown(object sender, MouseEventArgs e) { if (e.Button == MouseButtons.Left && System.Windows.Forms.Control.ModifierKeys == Keys.None) { _dragStartHitInfo = (sender as TreeList).CalcHitInfo(new Point(e.X, e.Y)); } else { _dragStartHitInfo = null; } if (e.Button == MouseButtons.Right && System.Windows.Forms.Control.ModifierKeys == Keys.None) { _dragStartHitInfo = (sender as TreeList).CalcHitInfo(new Point(e.X, e.Y)); TreeListNode node = null; //아래에 트리명칭참조 //https://documentation.devexpress.com/WindowsForms/DevExpress.XtraTreeList.HitInfoType.enum //Cell : 셀클릭시 if (_dragStartHitInfo.HitInfoType == HitInfoType.Cell) { node = _dragStartHitInfo.Node; } if (node == null) { return; } //'품목삭제'메뉴 생성 TreeListMenu menu = new TreeListMenu(sender as TreeList); DevExpress.Utils.Menu.DXMenuItem menuItem = new DevExpress.Utils.Menu.DXMenuItem("&" + "Delete Row", new EventHandler(deleteNodeMenuItemClick)); menuItem.Tag = node; menu.Items.Add(menuItem); // Show the menu. menu.Show(e.Location); } else { _dragStartHitInfo = null; } }
private void treeListLayerList_MouseDown(object sender, MouseEventArgs e) { if (e.Button == MouseButtons.Right) { TreeListHitInfo hitInfo = treeListLayerList.CalcHitInfo(e.Location); var data = treeListLayerList.GetRow(hitInfo.Node.Id) as LayerItemModel; TreeListMenu menu = new TreeListMenu(sender as TreeList); DXMenuItem menuItemZoomToExtends = new DXMenuItem("Zoom To Extends"); menuItemZoomToExtends.Tag = Newtonsoft.Json.JsonConvert.SerializeObject(data); menuItemZoomToExtends.Click += MenuItemZoomToExtends_Click; menu.Items.Add(menuItemZoomToExtends); DXMenuItem menuItemClose = new DXMenuItem("Close"); menuItemClose.Tag = Newtonsoft.Json.JsonConvert.SerializeObject(data); menuItemClose.Click += MenuItemClose_Click;; menu.Items.Add(menuItemClose); DXMenuItem menuItemProperties = new DXMenuItem("Properties"); menuItemProperties.Tag = Newtonsoft.Json.JsonConvert.SerializeObject(data); menuItemProperties.Click += MenuItemProperties_Click; menu.Items.Add(menuItemProperties); menu.Show(e.Location); } else { return; } }
private void treeList1_MouseDown(object sender, MouseEventArgs e) { // Check if a node's indicator cell is clicked. TreeListHitInfo hitInfo = (sender as TreeList).CalcHitInfo(e.Location); TreeListNode node = null; if (hitInfo.HitInfoType == HitInfoType.RowIndicator) { node = hitInfo.Node; } if (node == null) { return; } // Create a menu with a 'Delete Node' item. TreeListMenu menu = new TreeListMenu(sender as TreeList); DXMenuItem menuItem = new DXMenuItem("Delete Node", new EventHandler(deleteNodeMenuItemClick)); menuItem.Tag = node; menu.Items.Add(menuItem); // Show the menu. menu.Show(e.Location); }