■ TreeListMenu 클래스의 Show 메소드를 사용해 커스텀 메뉴를 표시하는 방법을 보여준다.
▶ 예제 코드 (C#)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 |
using System; using System.Windows.Forms; using DevExpress.Utils.Menu; using DevExpress.XtraTreeList; using DevExpress.XtraTreeList.Menu; using DevExpress.XtraTreeList.Nodes; ... private TreeList treeList; ... this.treeList.MouseDown += treeList_MouseDown; ... #region 트리 리스트 마우스 DOWN 처리하기 - treeList_MouseDown(sender, e) /// <summary> /// 트리 리스트 마우스 DOWN 처리하기 /// </summary> /// <param name="sender">이벤트 발생자</param> /// <param name="e">이벤트 인자</param> private void treeList_MouseDown(object sender, MouseEventArgs e) { TreeList treeList = sender as TreeList; TreeListHitInfo treeListHitInfo = treeList.CalcHitInfo(e.Location); TreeListNode treeListNode = null; if(treeListHitInfo.HitInfoType == HitInfoType.RowIndicator) { treeListNode = treeListHitInfo.Node; } if(treeListNode == null) { return; } TreeListMenu treeListMenu = new TreeListMenu(treeList); DXMenuItem dxMenuItem = new DXMenuItem("Delete Node", new EventHandler(deleteNodeMenuItem_Click)); dxMenuItem.Tag = treeListNode; treeListMenu.Items.Add(dxMenuItem); treeListMenu.Show(e.Location); } #endregion #region Delete Node 메뉴 항목 클릭시 처리하기 - deleteNodeMenuItem_Click(sender, e) /// <summary> /// Delete Node 메뉴 항목 클릭시 처리하기 /// </summary> /// <param name="sender">이벤트 발생자</param> /// <param name="e">이벤트 인자</param> private void deleteNodeMenuItem_Click(object sender, EventArgs e) { DXMenuItem dxMenuItem = sender as DXMenuItem; if(dxMenuItem == null) { return; } TreeListNode treeListNode = dxMenuItem.Tag as TreeListNode; if(treeListNode == null) { return; } treeListNode.TreeList.DeleteNode(treeListNode); } #endregion |