this.treeView1.ShowLines = false; this.treeView1.ShowPlusMinus = false; this.treeView1.ShowRootLines = false; // Set the mask colour if you use one. imageList1.TransparentColor = System.Drawing.Color.FromArgb(255, 0, 255); treeView1.ImageList = imageList1; // Set the treeview's default image index values to an value // that is out of range. treeView1.ImageIndex = 1; treeView1.SelectedImageIndex = 1; TreeNode newNode1 = new TreeNode("Parent Node 1"); newNode1.ImageIndex = 0; newNode1.SelectedImageIndex = 0; newNode1.Expand(); treeView1.Nodes.Add(newNode1); TreeNode newChildNode = new TreeNode("Child Node 1"); newNode1.Nodes.Add(newChildNode); TreeNode newNode2 = new TreeNode("Parent Node 2"); newNode2.Expand(); treeView1.Nodes.Add(newNode2);As you can see its just a matter of getting the bitmaps in the right place.