c#DevExpress组件TreeList控件自己控制节点图标(一)

348 篇文章 0 订阅
c#DevExpress组件TreeList控件自己控制节点图标(一)
标签: imagelistclass
3789人阅读 评论(3) 收藏 举报
本文章已收录于:

TreeList控件的节点图标设置,在显示属性里要么设置为全部显示,要么全部不显示。

当前项目需求为,个别节点设置为不可用,个别节点设置为只显示线不显示选择框,由此只能抛弃treelist自身的checkbox显示设置,自己画图标。

利用StateImage属性设置图标显示,首先做一个图标的枚举,从资源文件里读取:

  1. /// <summary>  
  2.     /// TreeList页节点选择状态  
  3.     /// </summary>  
  4.     public enum TreeNodeCheckImage  
  5.     {  
  6.         CheckedBranch = 0,  //选中枝  
  7.         UnCheckedBranch = 1,//未选中枝  
  8.         CheckedLeaf = 2,    //选中叶(暂不用,跟0一样)  
  9.         UnCheckedLeaf = 3,  //未选中叶(暂不用,跟1一样)  
  10.         BranchLine = 4,     //枝线  
  11.         LeafLine = 5,       //叶线  
  12.         DisCheckedBranch = 6,//不让选中枝  
  13.         DisCheckedLeaf = 7,//不让选中叶  
  14.         Loading = 8  
  15.     }  
  16.   
  17.     /// <summary>  
  18.     /// TreeList节点图标  
  19.     /// </summary>  
  20.     public class TreeListImageState  
  21.     {  
  22.         /// <summary>  
  23.         /// 自定义TreeList节点图标  
  24.         /// </summary>  
  25.         /// <returns></returns>  
  26.         public static ImageList GetImageList()  
  27.         {  
  28.             ImageList treeListImageList = new ImageList();  
  29.             treeListImageList.TransparentColor = System.Drawing.Color.Transparent;  
  30.             treeListImageList.Images.Add("0", OrgCertificate.Properties.Resources.tree_CheckedBranch);  
  31.             treeListImageList.Images.Add("1", OrgCertificate.Properties.Resources.tree_UnCheckedBranch);  
  32.             treeListImageList.Images.Add("2", OrgCertificate.Properties.Resources.tree_CheckedLeaf);  
  33.             treeListImageList.Images.Add("3", OrgCertificate.Properties.Resources.tree_UnCheckedLeaf);  
  34.             treeListImageList.Images.Add("4", OrgCertificate.Properties.Resources.tree_BranchLine);  
  35.             treeListImageList.Images.Add("5", OrgCertificate.Properties.Resources.tree_LeafLine);  
  36.             treeListImageList.Images.Add("6", OrgCertificate.Properties.Resources.tree_DisCheckedBranch);  
  37.             treeListImageList.Images.Add("7", OrgCertificate.Properties.Resources.tree_DisCheckedLeaf);  
  38.             treeListImageList.Images.Add("8", OrgCertificate.Properties.Resources.tree_Loading);  
  39.             treeListImageList.ImageSize = new System.Drawing.Size(20, 20);  
  40.             return treeListImageList;  
  41.         }  
  42.   
  43.         /// <summary>  
  44.         /// 自定义TreeList节点图标  
  45.         /// </summary>  
  46.         /// <returns></returns>  
  47.         public static ImageCollection GetImageCollection()  
  48.         {  
  49.             ImageCollection treeListImageCol = new ImageCollection();  
  50.             treeListImageCol.TransparentColor = System.Drawing.Color.Transparent;  
  51.             treeListImageCol.Images.Add(OrgCertificate.Properties.Resources.tree_CheckedBranch, "0");  
  52.             treeListImageCol.Images.Add(OrgCertificate.Properties.Resources.tree_UnCheckedBranch, "1");  
  53.             treeListImageCol.Images.Add(OrgCertificate.Properties.Resources.tree_CheckedLeaf, "2");  
  54.             treeListImageCol.Images.Add(OrgCertificate.Properties.Resources.tree_UnCheckedLeaf, "3");  
  55.             treeListImageCol.Images.Add(OrgCertificate.Properties.Resources.tree_BranchLine, "4");  
  56.             treeListImageCol.Images.Add(OrgCertificate.Properties.Resources.tree_LeafLine, "5");  
  57.             treeListImageCol.Images.Add(OrgCertificate.Properties.Resources.tree_DisCheckedBranch, "6");  
  58.             treeListImageCol.Images.Add(OrgCertificate.Properties.Resources.tree_DisCheckedLeaf, "7");  
  59.             treeListImageCol.Images.Add(OrgCertificate.Properties.Resources.tree_Loading, "8");  
  60.             treeListImageCol.ImageSize = new System.Drawing.Size(20, 20);  
  61.             return treeListImageCol;  
  62.         }  
  63.   
  64.     }  
  65. }  
    /// <summary>
        /// TreeList页节点选择状态
        /// </summary>
        public enum TreeNodeCheckImage
        {
            CheckedBranch = 0,  //选中枝
            UnCheckedBranch = 1,//未选中枝
            CheckedLeaf = 2,    //选中叶(暂不用,跟0一样)
            UnCheckedLeaf = 3,  //未选中叶(暂不用,跟1一样)
            BranchLine = 4,     //枝线
            LeafLine = 5,       //叶线
            DisCheckedBranch = 6,//不让选中枝
            DisCheckedLeaf = 7,//不让选中叶
            Loading = 8
        }
    
        /// <summary>
        /// TreeList节点图标
        /// </summary>
        public class TreeListImageState
        {
            /// <summary>
            /// 自定义TreeList节点图标
            /// </summary>
            /// <returns></returns>
            public static ImageList GetImageList()
            {
                ImageList treeListImageList = new ImageList();
                treeListImageList.TransparentColor = System.Drawing.Color.Transparent;
                treeListImageList.Images.Add("0", OrgCertificate.Properties.Resources.tree_CheckedBranch);
                treeListImageList.Images.Add("1", OrgCertificate.Properties.Resources.tree_UnCheckedBranch);
                treeListImageList.Images.Add("2", OrgCertificate.Properties.Resources.tree_CheckedLeaf);
                treeListImageList.Images.Add("3", OrgCertificate.Properties.Resources.tree_UnCheckedLeaf);
                treeListImageList.Images.Add("4", OrgCertificate.Properties.Resources.tree_BranchLine);
                treeListImageList.Images.Add("5", OrgCertificate.Properties.Resources.tree_LeafLine);
                treeListImageList.Images.Add("6", OrgCertificate.Properties.Resources.tree_DisCheckedBranch);
                treeListImageList.Images.Add("7", OrgCertificate.Properties.Resources.tree_DisCheckedLeaf);
                treeListImageList.Images.Add("8", OrgCertificate.Properties.Resources.tree_Loading);
                treeListImageList.ImageSize = new System.Drawing.Size(20, 20);
                return treeListImageList;
            }
    
            /// <summary>
            /// 自定义TreeList节点图标
            /// </summary>
            /// <returns></returns>
            public static ImageCollection GetImageCollection()
            {
                ImageCollection treeListImageCol = new ImageCollection();
                treeListImageCol.TransparentColor = System.Drawing.Color.Transparent;
                treeListImageCol.Images.Add(OrgCertificate.Properties.Resources.tree_CheckedBranch, "0");
                treeListImageCol.Images.Add(OrgCertificate.Properties.Resources.tree_UnCheckedBranch, "1");
                treeListImageCol.Images.Add(OrgCertificate.Properties.Resources.tree_CheckedLeaf, "2");
                treeListImageCol.Images.Add(OrgCertificate.Properties.Resources.tree_UnCheckedLeaf, "3");
                treeListImageCol.Images.Add(OrgCertificate.Properties.Resources.tree_BranchLine, "4");
                treeListImageCol.Images.Add(OrgCertificate.Properties.Resources.tree_LeafLine, "5");
                treeListImageCol.Images.Add(OrgCertificate.Properties.Resources.tree_DisCheckedBranch, "6");
                treeListImageCol.Images.Add(OrgCertificate.Properties.Resources.tree_DisCheckedLeaf, "7");
                treeListImageCol.Images.Add(OrgCertificate.Properties.Resources.tree_Loading, "8");
                treeListImageCol.ImageSize = new System.Drawing.Size(20, 20);
                return treeListImageCol;
            }
    
        }
    }
    




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值