Listbox.Border = False now not only turns off the outer border rectangle of the listbox but also the line between the heading and the first row. I consider this to be a bug. What do you think?
Workaround: draw the line in CellBackgroundPaint for row = 0. You must draw with y = 1:
g.DrawLine(0, 1, g.Width - 1, 1)
… as drawing at y = 0 will not work. Note that therefore the interior of the first row now will be 2 px smaller than the interior of the other rows and this is noticeable.
I just tried it on Windows and I am not seeing any difference, between 2015r3.1, 2016r1.1 and 2016r2. I may not be doing what you are though. If you can post a small project in a DropBox account, I can try it tomorrow morning, just heading to bed now.
I do most of my work on Windows, but can try it on OS X.
Are you sure? That Case deals with the separators between the individual headers. I thought you were talking about the line between the header and the first row?
Maybe it is just my system but I don’t see the line between the header and the first row unless I draw it myself. And it doesn’t matter if I have the border on or off.