C#2005winform,TreeView控件中引用三种图形,为什么选中行的图形显示永远是第一个的。            this.tviewTest.ExpandAll();
            //只有树不显示复选框项时,指定其它图形才有用。
            this.tviewTest.ImageList = imageList1;
            this.tviewTest.Nodes[0].ImageIndex = 2;            //练习树循环未用递归,故强制为二级结点
            for (int i = 0; i < this.tviewTest.Nodes[0].Nodes.Count; i++)
            {
                //是一级结点
                TreeNode tnode = this.tviewTest.Nodes[0].Nodes[i];
                tnode.ImageIndex = 0;
                for (int j = 0; j < tnode.Nodes.Count; j++)
                {
                    //是二级结点
                    tnode.Nodes[j].ImageIndex = 1;
                }
            }

解决方案 »

  1.   


       this.tviewTest.ExpandAll(); 
                //只有树不显示复选框项时,指定其它图形才有用。 
                this.tviewTest.ImageList = imageList1; 
                this.tviewTest.Nodes[0].ImageIndex = 2; 
                this.tviewTest.Nodes[0].SelectedImageIndex=2;
                //练习树循环未用递归,故强制为二级结点 
                for (int i = 0; i < this.tviewTest.Nodes[0].Nodes.Count; i++) 
                { 
                    //是一级结点 
                    TreeNode tnode = this.tviewTest.Nodes[0].Nodes[i];                 tnode.ImageIndex = 0; 
                    tnode.SelectedImageIndex=0;                for (int j = 0; j < tnode.Nodes.Count; j++) 
                    { 
                        //是二级结点 
                        tnode.Nodes[j].ImageIndex = 1; 
                     tnode.Nodes[j].SelectedImageIndex= 1;                 } 
                } 
      

  2.   

    谢谢,忘了设置SelectedImageIndex。
      

  3.   

    呵呵,ImageIndex和SelectedImageIndex一齐设置才对,单设置一种会出现原来的情况。