TreeList右键菜单功能

1:常用属性

   1): Appearance->FocusedRow-->BackColor  设置选中的节点颜色

   2):LookAndFell-->  将树的样式设置为加减号的样式,如图

 

 

 

  3): OptionsBehavior-->DragNode=true  设置树的节点之间 可以进行拖拽     事件:AfterDragNode  拖拽操作之后触发的事件

 

  4):Editable = false  禁止编辑

 

 

 

treeList右键菜单,需要控件popupMenu,即下文的popu_Treelist

 

在窗体中,右键点击popu_Treelist的Customize,将会出现如图的窗口,单击Popup Menu Editor,添加你想要的菜单名,如添加,修改,删除

 

设置好控件后,就可以用代码加载菜单了。如代码所示

 1   /// <summary>
 2         /// /右键菜单
 3         ///  tl_TableMaintain是treeList控件
 4         ///  popu_Treelist是PopupMenu控件
 5         /// </summary>
 6         /// <param name="sender"></param>
 7         /// <param name="e"></param>
 8         private void tl_TableMaintain_MouseUp(object sender, MouseEventArgs e)
 9         {
10 
11             TreeList tree = sender as TreeList;
12             if (e.Button == MouseButtons.Right
13                     && ModifierKeys == Keys.None
14                     && tl_TableMaintain.State == TreeListState.Regular)
15             {
16                 Point p = new Point(e.X + this.Location.X + 20, e.Y + this.Location.Y + 40);//设置出菜单现的位置
17                 TreeListHitInfo hitInfo = tree.CalcHitInfo(e.Location);
18                 if (hitInfo.HitInfoType == HitInfoType.Cell)
19                 {
20                     tree.SetFocusedNode(hitInfo.Node);
21                     TreeListNode node = hitInfo.Node;
22 
23                 }
24                 else
25                 {
26                     tree.SetFocusedNode(null);
27                 }
28 
29                 if (tree.FocusedNode != null)
30                 {
31                     popu_Treelist.ShowPopup(p);
32                 }
33 
34             }
35         }
36 
37         private void TreelistExpan(DevExpress.XtraTreeList.TreeList treeList1)
38         {
39             foreach (TreeListNode node in treeList1.Nodes)
40             {
41                 if (node.Level == 0)
42                 {
43 
44                     node.ExpandAll();
45                     node.Nodes[1].Expanded = false;
46                 }
47             }
48         }

 

加载完菜单,就可以对相应的菜单事件进行操作了。如点击添加的时候,可以新增一个节点

 /// <summary>
        /// 点击右键  添加   按钮触发
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btn_add_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
          
            //添加一个实体
       //当添加一个实体的时候,需要在相应的树节点上添加该实体,先获取当前节点 TreeListNode node = this.tl_TableMaintain.FocusedNode;
       // TreeListNode nodes = tl_TableMaintain.AppendNode(new object[] { tb.table_name_english }, node);//添加一个节点
           //nodes.Tag = tb;//并将其绑定到tag中
}

以此类推!

 

转载于:https://www.cnblogs.com/liuyun-Jin/p/4502853.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值