첨부 실행 코드는 나눔고딕코딩 폰트를 사용합니다.
본 블로그는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 블로그 콘텐츠 향상을 위해 쓰여집니다.

728x90
반응형
728x170

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
728x90
반응형
그리드형
Posted by 사용자 icodebroker

댓글을 달아 주세요