给TreeList的根和子节点弹出不同的右键菜单

好象没几个人用dev的treelist,好早就想实现这个效果,经过一个多小时的摸索,终于找到了实现方法

定义两个不同的popup contentMenu
在mouse_down事件中处理
给TreeList的根和子节点弹出不同的右键菜单 private   void  JobTree_MouseDown( object  sender, MouseEventArgs e)
给TreeList的根和子节点弹出不同的右键菜单        
{
给TreeList的根和子节点弹出不同的右键菜单            
if (e.Button == MouseButtons.Right)
给TreeList的根和子节点弹出不同的右键菜单            
{
给TreeList的根和子节点弹出不同的右键菜单                DevExpress.XtraTreeList.TreeListHitInfo hInfo 
= this.JobTree.CalcHitInfo(new Point(e.X, e.Y));
给TreeList的根和子节点弹出不同的右键菜单                
if (hInfo.HitInfoType == DevExpress.XtraTreeList.HitInfoType.Cell) //在单元格上右击了
给TreeList的根和子节点弹出不同的右键菜单
                {
给TreeList的根和子节点弹出不同的右键菜单                    
if(hInfo.Node.RootNode.Id==hInfo.Node.Id) //说明是根节点 站点
给TreeList的根和子节点弹出不同的右键菜单
                        this.barManager1.SetPopupContextMenu(this.JobTree, this.popupSite);
给TreeList的根和子节点弹出不同的右键菜单                    
else  //任务
给TreeList的根和子节点弹出不同的右键菜单
                        this.barManager1.SetPopupContextMenu(this.JobTree, this.popupJob);
给TreeList的根和子节点弹出不同的右键菜单                }

给TreeList的根和子节点弹出不同的右键菜单                
给TreeList的根和子节点弹出不同的右键菜单            }

给TreeList的根和子节点弹出不同的右键菜单        }


你可能感兴趣的:(list)