先提供一个思路阿 不晓得有没有帮助 就是先把treeview的drawmode改成ownerDrawText(or ownerDrawAll)再在treeview的drawnode事件中写
//...drawnode
e.Graphics.DrawImage(image, new Rectangle(new Point(0,0), treeview.Size));
//image is defined somewhere early like 
//Image image = Image.FromFile("c:\\picture.jpg");但是这样改掉treeview的背景的同时也将节点抹去了,ownerDrawText模式也是一样。也就是说如果要显示节点的话就要再手绘所有节点,这也可能会带出一些新的问题,你愿意一试的话可以研究下。