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

来源:互联网 发布:数据逻辑设计的任务 编辑:程序博客网 时间:2024/04/29 19:12
c#DevExpress组件TreeList控件自己控制节点图标(一)
标签: imagelistclass
3789人阅读 评论(3)收藏举报
本文章已收录于:

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

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

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

[csharp] view plain copy print?
  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. }  




0 0