Better ListView is a list view control for .NET Windows Forms
Designed as a replacement for the regular .NET list view control.
Compatible with: Visual Studio 2010, 2008, 2005 (and newer), with full designer support.
For C#, Visual Basic .NET (VB.NET), managed C++, and other CLI languages.
Compatible with .NET 4, .NET 3.5, .NET 3, .NET 2, and newer.
Runs on Windows 7, Vista, 2003, XP, 2000, and newer, both 32-bit and 64-bit.
Better ListView has more features and flexibility, always uses the current system theme (including Aero support), and removes limitations of the regular .NET list view control.
Minimum learning needed. Better ListView can be used just like the regular list view.
Written in pure managed C# code. It is fast, light-weight and optimized for 100k+ items.
Easy royalty-free deployment. Single DLL file that has just 250kB when compressed.
Tested in the real world by thousands of users
Extra features summary
Better ListView is fast and flicker-free, supports hierarchical items, has improved grouping, better drag & drop and item reordering support, better column headers, inbuilt sorting, multi-column sorting, better images support, context menus for column headers and items, embedded controls for editing support, automatic and custom sizing of items and images, thumbnails view, richer event data, item text formatting, XML and binary serialization, data-binding, owner-drawing options, better tooltips, powerful hit-test, improved usability, easy saving/loading of contents into file or string, multi-line items, and more.
You can create tree-like structures in Better ListView; inbuilt drag & drop hierarchical reordering of items.
Better grouping customizable group headers look and behavior, collapsible, image support, context menu support, focusable, etc. Each group header can be customized individually.
Save/load contents with 1 line of code
You can save or load the contents of Better ListView in just 1 line of code, either to file or string. Both XML and binary serialization is supported.
Double-buffered and flicker free
Simply put, Better ListView is smooth. Regular listview requires multiple anti-flicker techniques, but you do not have to worry about that with Better ListView. Better ListView is optimized for 100k+ items.
Column header images
You can use images in column headers. Custom image sizes are supported.
You can set images to list view sub-items. Regular list view allows you to set only one image per list view item, but Better ListView can show image for every sub-item (in every column).
Image-List and Image Support
Better ListView supports both image list, or individual image objects (System.Drawing.Image). Regular list view forces you to use ImageList object.
Custom list view Image size
You can use any image size in the list view. Better ListView can also automatically resize images with preserving aspect ratio.
Drag & drop with insertion mark
Highly customizable drag-drop for both internal and external drag-drop. You can use drop highlight or insertion mark drag drop modes.
List view item reordering
Better ListView has inbuilt item reordering and item drag & drop inserting at the position specified by user. Drag & drop preview is shown using an insertion mark.
Better ListView has inbuilt easy drag & drop column header reordering that is much easier to use than in the regular list view. Insertion mark is shown, auto-scrolling is supported.
Auto-scroll for column header reordering and item reordering
Better ListView has inbuilt auto-scrolling for column header and item reordering.
Column headers can be shown in all views
Better ListView can display column headers in all views - Details, SmallIcons, LargeIcons, List, Tile, Thumbnails. This allows users to sort items in all views. Additionally, you can also hide the column headers even in the details view.
Thumbnails view mode
Better ListView supports additional "thumbnails" view mode that allows you to view images of large sizes. The images are automatically and smoothly resized with preserved aspect ratio. You can define the maximum/minimum desired image sizes.
Image shadows, borders and padding
All images in Better ListView can have border or shadow specified. You can also specify padding that gives you space for owner drawing (eg. overlay images). This can be used in all views. Image shadows like in Windows 7 theme are supported. Windows Explorer uses very similar shadows for image thumbnails.
You can sort by multiple columns in Better ListView. Simply shift+click a secondary (or third, etc) column to add it to the current sort. Zero code needed. Additionally, the background of the primary (first) sort column can be highlighted.
Inbuilt sorting and natural sorting
Better ListView has inbuilt list view sorting that works out of the box. You no longer need to implement your own item comparer. If custom comparer is needed, you can inherit from the Better ListView comparer to save time.
Richer event data
Many events have richer event data that allow you to do extra operations or tell you extra useful information. The richer events include: AfterItemSort, BeforeDrag, BeforeItemSort, ColumnClick (allows you to cancel sort), DragDropException, DrawBackground, DrawColumnHeaderBackground, DrawColumnHeader, DrawItemBackground, DrawItem, HitTestChanged, ItemActivate (event data tells you how the item got activated - mouse, keyboard or code), ItemDrag, ItemDrop, ItemReorder, ItemSearch, LabelEdit, RequestEmebeddedControl.
Checkboxes in all views
You can have checkboxes in LargeIcons view, SmallIcons view, List view, Thumbnails view and of course also in the Details view.
Three state checkboxes
Three state checkboxes are supported in Better ListView.
Hide or show checkboxes of specific ListView Items
You can hide checkbox for any ListViewItem. You can also show checkboxes only for specified items. All list items in Better ListView have "AllowShowCheckBox" property.
Powerful list view tooltips
You can display tooltips for nearly any part of Better ListView - tooltips for items, sub-items, checkboxes, item images, sub-item images, column headers, column header images, column header borders, and even for custom areas (regions). Owner-drawn tooltips are supported.
Uses current Windows theme
Instead of implementing custom, un-native look and feel, Better ListView always automatically fully uses the current system theme. It supports Aero as well. Better ListView always looks great and feels right to the user.
XML and binary serialization of everything
Every part of Better ListView (items, sub-items, column headers) can be both binary and XML serialized. You can easily XML serialize whole list view (or binary serialize) to save it to file or transfer items between controls. Standard ways of .NET serialization can be used (BinaryFormatter, XmlSerializer).
Better ListView allows you to draw over the client area, items and column headers. Contrary to .NET ListView, owner drawing is fully operational even when the system uses Aero theme. You can draw separately to background and foreground parts of Better ListView without worrying about proper drawing order. Owner drawing events provide rich data, including exact item state and areas of every item part.
Better ListView supports multi-line items. Items with very long text can be displayed on multiple lines. Highly customizable and powerful: Focused items can have custom number of lines; hard line breaks supported as well. Foreground overlay "watermark" images are easily achievable using owner-drawing.
Background image support
Display background image in Better ListView easily using the BackgroundImage property. Many layouts (stretch, tile, none), alignments (top, bottom, left, right, center and combinations) are supported, as well as customizable opacity.
Context menu for column headers, list items, and empty area
Better ListView supports 3 types of context menus: Column header context menu, list view items context menu, and empty area context menu (when right-clicking white space).
Advanced hit-test with detailed information
The hit test in Better ListView returns very detailed information. It tells you not only the location (Client Area, Sub-Item, Sub-Item Text, Sub-Item Image, Checkbox, Column Header Image, and many more), but it also tells you the state of the item, and part of the item (left or right).
Better ListView has excellent customization functionality for find-as-you-type item searching. The search modes include: Prefix (searchs from beginning of items), Substring (search any part of item text), Prefix + Substring, or Disabled. Additionally, search options include: Case sensitive, search first word only, play sound when item not found, prefer prefixes, search whole words. You can also restrict the search to only certain columns. You can also call "FindItemsWithText" function to find items from code.
Display text when the list view is empty
You can display a gray text centered in the list view if it's empty to hint or educate users. This will make your software more user friendly.
Embed controls for item editing
Inbuilt in-line editing support includes label edit, combobox edit, date picker edit. You can also embed any custom control for in-line editing. Sub-item editing is supported. Highly customizable.
istView item text formatting
Supports both text trimming and auto-ellipsis for text that's too long. You can choose from: TrimCharacter, TrimWord, EllipsisCharacter, EllipsisWord, EllipsisPath (for file paths). Column header text can be broken into multiple lines.
Focusable ListView sub-items
Focus sub-items in Better ListView easily with keyboard. Just use the arrow keys. (This is impossible with the regular .NET ListView)
Automatic list view layout
Better ListView can auto-size item images, item text, column header images, column header text.
Custom list view item size
You can set custom sizes for item text area and item images. You can also set custom size for column header text area and column header images. (Text area size is different from font size, text area size basically defines the size of the list view item.) This enables you to make tiny/huge column headers or list view items.
More advantages of our improved list view component:
Developer friendly: All classes and properties are as similar to the regular list view as possible. Everything is intuitive, very little learning is needed. You can use Better ListView immediately. Save time and ship sooner.
Better ListView has improved usability and fixed behavior. All Windows users are familiar with the list view used in Windows Explorer. Better ListView mimicks behavior and look & feel of the Windows Explorer list view as much as possible to leverage the existing user knowledge. Using Better ListView is pleasant for users. Many other list view components implement custom look and behavior and can oftentimes downright frustrate users (many controls don't even support mouse-wheel scrolling!) This doesn't happen with Better ListView.
Guaranteed support and continued development: Better ListView is developed as a joint-venture of two software companies that use Better ListView in their main products (popular Swift To-Do List and ImagingShop). These applications are used by thousands of users daily. This is your guarantee that Better ListView will be supported and developed in the future.
Tested in real world applications by thousands of users: Because Better ListView is used in professional consumer desktop software applications - Swift To-Do List and ImagingShop, thousands of users work with Better ListView every day. Although we use unit tests that cover most of code, and do thorough inhouse testing, this is your true guarantee that it is tested thoroughly in the real world. It is extremely stable.
Better ListView does not inherit from the regular .NET list view. It is written in pure managed C# code and is flexible, light weight, and fast. Extensions of the regular .net list view only go so far. Better ListView goes further. Soure code licenses are also available for ultimate customization.