views:

201

answers:

1

It seems that the checkbox used in a ListView when CheckBoxes = true isn't a proper checkbox. It doesn't draw the MouseOver or MouseDown state and it doesn't support the Indeterminate/Intermediate state. How can I replace the checkbox with a standard checkbox control or take control of the drawing of just the checkbox so I can use the CheckBoxRenderer class?

A: 

You could give ObjectListView a try. It's a control that inherits from the standard ListView and adds a great many new features, including tri-state checkboxes. If the look of the checkboxes isn't to your liking, it lets you owner-draw them.

The license is GPL, but there is the option of negotiating another license for commercial applications.

Thomas
ObjectListView is nice but also draws its own selection rectangle, which doesn't match the vista styled one and drawing that would be harder since there doesn't seem to be a SelectionRenderer or something like that
Telanor
ObjectListView has a UseExplorerTheme property, which gives it exactly the same styling as Vista. ObjectListView supports indeterminate state checkboxes. It has Renderers to allow you to draw exactly what you want. So, it gives you everything you asked for except MouseOver states -- which you could do yourself.
Grammarian