I have a TreeView
windows forms control with an ImageList
, and I want some of the nodes to display images, but the others to not have images.
I don't want a blank space where the image should be. I don't want an image that looks like the lines that the TreeView would draw if it didn't have an ImageList. How do I get it to draw images for some items and not others, without resorting to clumsy hacks like that?
You need to set ImageIndex
and SelectedImageIndex
to a number that is higher than the number of values in your ImageList
. For example, if you create this node and add it to your TreeView
:
TreeNode node1 = new TreeNode(string.Empty, 12, 12); // imageList1.Count = 5
you will have an invisible TreeNode
inserted into your TreeView
. I changed the background color of my TreeView
and it was still invisible.
(I googled this for some time, and I eventually found the answer here: http://www.tech-archive.net/Archive/DotNet/microsoft.public.dotnet.framework.windowsforms/2006-09/msg00322.html)