我现在有棵TREEVIEW  (WINDOWs)
我如何在不同的情况下控制它的图标
这是具体效果http://www.2008ws.com/panpan/blog/attachments/month_0507/pmes_a1.gif第一种是根据不同的文件类型显示不同的图标,如果文件的节点下,有子节点和没有子节点显示的图标都是不同的
第二种是如果文件的节点下有子节点是一种图标,没有的时候是另外一种图标
不知道这样的效果如何实现谢谢大家帮忙!!!!!!!!!!!!!

解决方案 »

  1.   

    直接在不同的情况下使用TreeNode.ImageIndex改变图像就行啦
      

  2.   

    先把层次理清楚,然后根据判断来设置相应的ImageIndex
      

  3.   

    有两个图片 属性值 你生成TREENODE 的时候符不同的值进去就行了。。
      

  4.   

    主要是使用每一个节点的ImageIndex属性
        先设置ImageList的图像列表,然后根据
                 this.treeview1.Nodes[0].ImageIndex = 0;   ///根节点的图标
                 this.treeview1.Nodes[0].Nodes[0].ImageIndex = 1; ///根节点的第一子节点的图标
                 ...
        当然,要控制不同子节点(以及下级子节点的有无)的图标,还需要添加判断条件,如
                 if(this.treeview1.Nodes[0].Nodes[0].Nodes.Count > 1)
                       this.treeview1.Nodes[0].Nodes[0].ImageIndex = 3 ;
        这样,就可以控制不同节点的图标了
      

  5.   

    setChildNodeImg(treeView.Nodes) ;pirvate void setChildNodeImg(TreeNodeCollection Nodes)
    {
       for(int i = 0; i < Nodes.Count; i++)  
       {
           if (Nodes[i].Nodes.Count > 0) 
           {
               Nodes[i].ImageIndex = 0;
               setTreeNodeImg(Nodes[i].Nodes);
           }
           else Nodes[i].ImageIndex = 1;
        }
    }