. However, it would be a mistake to look on Better ListView just as an improved or fixed listview - it can do so much more. The
Regular .NET ListView Control |
Better ListView control |
Some events fire twice bug |
Fixed |
Selection behavior different from Windows Explorer |
Fixed; Behaves as expected |
Drag & Drop behavior different from Windows Explorer |
Fixed; Behaves as expected |
Checkboxes do not stay in the first column when the first column is reordered |
Fixed; Behaves as expected |
Non-standard checkboxes behavior (e.g. when using spacebar) |
Fixed |
Non-standard look, incompatible with system themes |
Fixed; Always uses system theme. Looks great on all Windows versions. Works with Windows 7 themes and Aero |
Regular .NET ListView Control |
Better ListView control |
Just one image per item |
Enhanced; Each sub-item can have image |
No group header customization |
Added, each group header is fully customizable |
ImageList must be used to display images |
Both ImageList and Image instances can be used |
Simple sorting only |
Multi-column sorting; Users can use Shift+Click to add additional columns to the sort |
Three-state checkboxes not supported |
Support for both two-state and three-state check boxes |
Very limited event data |
Enhanced; Many events have rich event data with useful information |
Only 1 context menu for whole ListView |
Up to 3 separate context menus: One for column headers, one for items, and one for empty area |
Columns can be shown only in “Details” layout |
Columns can be shown in all layouts |
Only “SmallIcon” and “LargeIcon” size supported |
Images can be of any size |
Image size is static |
Images are scaled and centered smoothly when necessary while keeping their respective aspect ratios |
Column header images are not supported |
Both ImageList and custom Image instances can be set for column headers |
Custom comparer for sorting has to be implemented from scratch |
Custom comparer can be inherited from BetterListView’s default comparer to extend its functionality; Any custom IComparer is supported as well |
Sub-item images very limited; Usable only via WinAPI with limitations in size and color depth |
Images for sub-item fully supported (both ImageList and custom Image instances) |
Check boxes do not have animation effect like the standard control |
Check boxes are animated when used with mouse or keyboard the same way as the CheckBox control |
Searching with keyboard only on first column and limited to string prefixes |
Keyboard searching can be used on columns of choice and the searching behavior can be further adjusted (any substring, character-based or word-based search) |
Only simple item tooltips supported |
Automatic and customizable tooltips on items, sub-items and columns are supported |
Can scroll to just one item |
One or several items can be specified to be scrolled into view |
Vista-look only with WinAPI extension |
Visual elements are used by default |
No Drag & Drop item highlighting |
Items under cursor are properly highlighted during dragging; Highlighting can be switched off for selected items |
Regular .NET ListView Control |
Better ListView control |
No thumbnails view |
Added support; can be used for viewing thumbnails of photos or other images |
No inbuilt saving/loading |
Added support; save/load contents to file or string (XML or binary) |
No item hierarchy |
Added support; tree-like hierarchical items supported |
No image shadows or borders |
Added support; you can use image shadows or borders, supports custom image padding (eg. useful when owner-drawing overlay icons) |
No empty text support (watermark text when ListView is empty) |
Added support; Empty text for empty ListView is supported; You can give hint to your users now |
No inbuilt sort |
Added inbuilt sort support; Zero-code sorting |
No auto-scroll when reordering items |
Added; Auto-scroll speed can be adjusted |
No auto-scroll when reordering columns |
Added; Auto-scroll speed can be adjusted |
No inbuilt item/column reordering |
Added item/column reordering support; Zero-code reordering |
No auto-scroll when dragging an item |
Added; Auto-scroll speed can be adjusted |