- Home
- Products
  WinForms Components
  Better ListView
  Ultimate ListView control for .NET Better Thumbnail Browser
  Thumbnail loading and browsing control for .NET Better SplitButton
  Free customizable dropdown button control Better ListView Express
  Free edition with less features
- Purchase
  Better ListView Better Thumbnail Browser Better SplitButton
- Support
- Articles
- Blog
- Comics
- About Us

# Better ListView: Alternative list view control for .NET

Ideal .NET WinForms (C#, VB.net) replacement list view component. More features, less limitations, fast and optimized.

- « Back to the product overview

Show changes since:

## What's New in Better ListView since version 1.40

### Changes in version 3.14.0 (Apr 08, 2015)

* Fixed scrolling when all items are unselectable

### Changes in version 3.13.0 (Dec 02, 2014)

* Fixed drag selections (not all intersecting items were always selected)
* Fixed sub-item focus rectangle display in Details view when FullRowSelect is false
* Fixed sub-item background display in Details view when FullRowSelect is false
* Fixed text highlighting not updating properly after automatic column resizing

### Changes in version 3.12.0 (Sep 13, 2014)

* Added column unsorting by middle mouse button
* Fixed hit test on items in List view

### Changes in version 3.11.0 (Aug 06, 2014)

* Added overlay image alignments support for columns and items in Detail view
* Fixed dragging empty selection when MultiSelect=False and user dragged item with Control key pressed

### Changes in version 3.10.0 (Jul 06, 2014)

* Added sub-item check boxes and radio buttons support
* Added support for custom disabled check boxes and radio buttons
* Fixed ObjectDisposedException being raised when closing Form right after clicking an item
* Fixed RemoveSearchHighlight to work in item hierarchy
* Fixed drawing of group header when the group is focused by keyboard

### Changes in version 3.9.1 (May 19, 2014)

* Fixed disappearing items after scrolling and item reordering in LargeIcon view with multi-line items

### Changes in version 3.9.0 (Apr 22, 2014)

* Added integration with Visual Studio 2013
* Added custom date format support in BetterListViewDateTimePickerEmbeddedControl
* Added ItemReordered event
* Fixed FindItemsWithText method call when working with invisible items
* Fixed saving form after editing tooltips in Windows Forms Designer

### Changes in version 3.8.3 (Feb 03, 2014)

* Fixed sorting of items with missing sub-items or Key set to null

### Changes in version 3.8.2 (Oct 21, 2013)

* Fixed pixel precision bug in column selection
* Fixed proper scrolling on combined items using EnsureVisible method
* Fixed drawing item selection on MouseUp in some cases (click directly on text of previously selected item in Details view)

### Changes in version 3.8.1 (Sep 20, 2013)

* Fixed search highlight in other than Details view

### Changes in version 3.8.0 (Sep 11, 2013)

* Fixed search highlight on multi-line items

### Changes in version 3.7.7 (Aug 27, 2013)

* Added HotTracking property
* Added SmoothScroll property
* Improved responsiveness (optimized control refreshing on control state transitions)
* Fixed BetterListViewColumnHeader.DisplayIndex property value not being updated at the time of ColumnHeaderReordered event
* Fixed bug in hit test invalidation optimization causing slower redrawing when mouse moves over large control with many items and columns

### Changes in version 3.7.6 (Jul 06, 2013)

* Fixed item deselection when clicking on client area

### Changes in version 3.7.5 (Jun 24, 2013)

* Fixed item selection by clicking on group header

### Changes in version 3.7.4 (Jun 05, 2013)

* Removed beep when no item is found though single keypress (keyboard search)
* Fixed keyboard search

### Changes in version 3.7.3 (May 30, 2013)

* Fixed keyboard search with 'Substring' setting and single keystroke
* Fixed rare but possible NullRefereceException in OnMouseUp method

### Changes in version 3.7.2 (Apr 10, 2013)

* SuspendSelectionChanged renamed to SuppressSelectionChanged
* Fixed selection display when FullRowSelect is false in Details view
* Fixed grid lines display when HeaderStyle is None in Details view
* Fixed closing floating window in Samples Explorer

### Changes in version 3.7.1 (Mar 28, 2013)

* Fixed Visual Studio Toolbox integration on Windows XP

### Changes in version 3.7.0 (Mar 19, 2013)

* Added HScrollHeight, VScrollWidth properties

### Changes in version 3.6.1 (Mar 01, 2013)

* Fixed unnecessary redrawing during MouseMove

### Changes in version 3.6.0 (Feb 28, 2013)

* Fixed possible exception when invoking context menu on an item by mouse
* Fixed multi-line text when TextTrimming is set to None
* Fixed public constructor parameters being obfuscated

### Changes in version 3.5.0 (Jan 28, 2013)

* Added owner drawing support for drag selection
* Added data binding customization
* Added separate product activation utility

### Changes in version 3.4.3 (Jan 18, 2013)

* Added BetterListViewHitTestInfo.MousePosition property
* Fixed unhandled exception on web request timeout when activating over web proxy

### Changes in version 3.4.2 (Jan 12, 2013)

* Added separate column auto resizing for column header, column content or both (BetterListViewColumnHeaderAutoResizeStyle changed to flags enum)
* Fixed DoubleClick and ItemActivate not raised when the redrawing takes too much time between successive clicks
* Fixed Combined Items
* Fixed check boxes and expand buttons of children in combined items being inactive
* Fixed combined item not being properly measured when its child has been made invisible
* Fixed insertion mark display on combined items
* Fixed online activation from behind a web proxy
* Fixed binding DataTable in the Data Binding sample
* Fixed unnecessary refreshes during binding a table with multiple columns

### Changes in version 3.4.1 (Dec 20, 2012)

* Added possibility of changing label being edited by setting Label property in BeforeLabelEdit and AfterLabelEditCancel event data
* Improved Visual Studio Toolbox integration for more versions of .NET Framework, including Client Profile
* Fixed possible NullReferenceException during clicking on column headers (negative mouse cursor coordinates probably due to mouse movement)

### Changes in version 3.4.0 (Dec 14, 2012)

* Added 'Search Highlight' feature
* Added SearchHighlight, SearchHighlightColor, SearchHighlightBorderColor, SearchHighlightTextColor properties
* Added BetterListViewSearchOptions.UpdateSearchHighlight enum value
* Added BetterListViewSubItemBounds.BoundsSearchHighlight property
* Fixed IndexOf() method on collections to return -1 if an element is not contained in the collection
* Fixed case where clickable/sortable/unsortable column is clicked and mouse cursor moves quickly away
* Fixed column auto resizing to account for groups and hierarchical items
* Fixed not allowing to put duplicate references in SelectedItems.Set(IEnumerable<BetterListViewItem>) or SelectedItems.AddRange(IEnumerable<BetterListViewItem>)

### Changes in version 3.3.2 (Dec 08, 2012)

* Fixed moving mouse cursor over an item that is partially scrolled out so that the text boundaries have negative top coordinate
* Fixed ItemActivate not raised on slow computers when item is double-clicked and mouse cursor moved quickly away

### Changes in version 3.3.1 (Dec 06, 2012)

* Added ColumnReorder event next to existing ColumnReordered event to allow cancelling column reordering
* Added keyboard-invoked context menu placements (ContextMenuStripPlacement property)
* Improved context menu placement: Keyboard-invoked context menu is displayed under the first visible selected item
* Improved grid lines appearance
* Improved item parts alignment when expand buttons are present
* Fixed possible improper behavior on slower computers (or lagging code because of too much drawing etc.)
* Fixed item not selected clicked and mouse cursor is immediately moved away
* Fixed drag selection commited when item is almost double-clicked (second mouse button release not done) and then mouse is moved before button is released
* Fixed DoubleClick event raised after any amount of time when item is reordered with incomplete double-click (second mouse button release not done) and then other item is clicked

### Changes in version 3.3.0 (Nov 30, 2012)

* Added FIPS-compliance (improved security and compatibility)
* Improved horizontal multi-line text alignment
* Improved Samples Explorer
* Properties VisibleColumns, VisibleGroups, VisibleItems hidden from Properties window in the WinForms Designer
* Fixed commencing mouse drag selecting on double-click and mouse move in quick succession
* Fixed scrolling to parent item vertically when only child item have been selected
* Fixed AutoResizeColumns updating just the last column
* Fixed column header sort glyph placement when the column is sorted and no items are present in the list
* Fixed image border color not changing when ImageBorderColor layout property changed

### Changes in version 3.2.2 (Oct 09, 2012)

* Added support for TypeConverters when adding custom objects to collections
* Improved horizontal scrolling on items within item hierarchy
* Fixed reordering item in an empty or collapsed group

### Changes in version 3.2.1 (Sep 18, 2012)

* Allowed setting Font property to null on column headers, groups, items and sub-items
* Fixed cycling between items during keyboard search
* Fixed code generation for SearchSettings property
* Fixed NullReferenceException when edited sub-item is switched during label editing
* Fixed multi-line text wrapping when BetterListViewItem.CheckBoxAppearance is set to None
* Fixed sorted column background being drawn in other than Details view
* Fixed unsufficient vertical scroll bar maximum when column headers are added in first initialization between BeginUpdate()/EndUpdate()
* Fixed double-click on column containing hidden check box

### Changes in version 3.2.0 (Aug 27, 2012)

* Added HeaderStyle property
* Added BetterListViewColumnHeaderStyle.None enum value (indicates that column header is not displayed, but corresponding sub-items are)
* Added BetterListViewColumnHeaderStyle.Hidden enum value (indicates that column header is hidden, including sub-items)
* Improved mouse and keyboard selections to behave more like Windows Explorer
* Merged BetterListViewColumnHeaderStyle.Hidden enum value and BetterListViewColumnHeader.Value
* Control+Shift modifier keys behave the same way as Control modifier key alone in Multi-column Sorting
* Hidden ShowItemExpandButtons property in Express edition
* Fixed possible multiselection using Control+click when MultiSelect is false

### Changes in version 3.1.1 (Aug 07, 2012)

* Fixed selected child items not removed from SelectedItems collection after BetterListView.Items.Clear() call
* Fixed designer not supporting some BetterListViewColumnHeaderStyle enum values well

### Changes in version 3.1.0 (Aug 03, 2012)

* Added BetterListViewDropPart.On
* Added BetterListViewLabelEditCancelEventArgs, BetterListViewLabelEditCancelEventHandler for BeforeLabelEdit, AfterLabelEditCancel events
* Added OnDrawInsertionMark method, DrawInsertionMark event
* Added BetterListViewInsertionLocation.Offset property
* Added CollapsedItemUnselection property (child item unselection behaviors when parent item is collapsed)
* Added CheckBoxesAlign property to make parent items without check boxes more distinguishable in hierarchy
* Added BetterListViewLabelEditActivation.ClickThrough label editing option
* BetterListViewCheckItemReorderEventArgs now inherits from DragEventArgs to provide more information relevant to Drag and Drop
* Added BetterListViewCheckItemReorderEventArgs.InvalidationReasons property to allow working with different reasons for item reorder invalidation
* Added BetterListViewColumnHeaderStyle.Unsortable enum value
* Added BetterListViewHitTestInfo.ColumnArea enum value
* Added unsorting individual columns using Control modifier key when multi-column sorting is active
* Improved performance of hierarchical items
* When parent item is collapsed and any of its children selected, the parent itself gets selected
* Changed EnsureVisible(BetterListViewItemCollection) to EnsureVisible(ICollection<BetterListViewItem>); this avoids unnecessary wrapping of collections
* A new BufferedGraphicsContext is created instead of using BufferedGraphicsManager.Current to avoid possible clash with other 3rd party controls using double-buffering in the same context
* GetItemAt, GetSubItemAt, GetColumnHeaderAt, GetGroupAt methods can be called even when the control is in updation state (though the fresh information is not ensured) - for example, this enables using GetDropInfo method inside ItemReorder event handler
* Removed CancelEdit from AfterLabelEdit event data, AfterLabelEditCancel should be used instead
* Fixed changing selection from user code within ItemDrop event handler
* Fixed BetterListViewItemReorderEventArgs.Locations can contain wrong values and missing child item indices
* Fixed sorting items with hierarchy when some item contains more child items than there are top-level items
* Fixed begining label editing when a single item is deselected using mouse and Control modifier key is pressed
* Fixed updating last selected element when selection is changed programmatically
* Fixed flickering when scrolling by moving selection using arrow keys
* Fixed measurement of items not resetting when expand button is displayed by adding child items
* Fixed not allowing to reorder item after last child item, but on higher level
* Fixed BetterListViewItemEnumerator
* Fixed items not positioned properly when ShowDefaultGroupHeader property value is changed
BREAKING CHANGES:
* UnselectCollapsedItems property renamed to CollapsedItemUnselection

### Changes in version 3.0.0 (Jul 10, 2012)

* Added support for Client Profile versions of .NET Framework
* Added accessibility support
* Added AccessibleObject implementations
* Added protected virtual methods DoDefaultAction(BetterListViewColumnHeader) and DoDefaultAction(BetterListViewItem)
* Added CircularSelection property
* Added BetterListViewItem.CheckBoxAppearance property
* Added BetterListViewItem.CustomDropDisplayExternal, BetterListViewItem.CustomDropDisplayInternal properties
* Added BetterListViewSubItem.DisplayIndex property
* Added BetterListViewDragDropEffectSettingEventArgs.UpdateInsertionMark property
* Added custom item/sub-item text formatting
* Added BetterListView.FormatItem
* Added BetterListViewSubItem.FormatText property
* Added BetterListViewSubItem.DisplayText property
* Added BetterListViewItem.DisplayText
* Added BetterListViewItem.FormatText property
* Added BetterListViewItem.OnFormat
* Added BetterListViewItem.RefreshDisplayText
* Added VisibleColumns, VisibleGroups, VisibleItems properties
* Added BetterListViewColumnHeader.NextVisibleColumnHeader, BetterListViewColumnHeader.PreviousVisibleColumnHeader properties
* Added check on setting IsValid to true in CheckItemReorder event handler
* Added automatic sorting of item hierarchy
* Added BetterListViewItem.AllowSortChildItems property to customize hierarchical sorting
* Added detecting source of item check state change
* Added BetterListViewCheckedItemsChangedEventArgs.CheckStateChangeMode
* Added BetterListViewItemCheckEventArgs.CheckStateChangeMode
* Added BetterListViewItemCheckedEventArgs.CheckStateChangeMode
* Improved detecting clicking on empty space in multi-line text
* Improved display of check box in cut state
* Improved serialization and ToString methods using invariant culture whenever appropriate
* Improved BetterListViewNaturalItemComparer to handle arbitrarily large numbers
* When AutoResizeColumn is called between BeginUpdate() and EndUpdate(), the resizing is postponed until the EndUpdate() call
* Changed type of ImageSize layout property
* Renamed BetterListViewLayoutItems.ImageSizes property to BetterListViewLayoutItems.SubItemImageSizes
* Removed 'sealed' modifier from BetterListViewSubItem class to allow inheritance
* Removed restoring selection when ItemReorderMode is set to Custom
* Fixed moving selection on group headers using left/right arrow keys in List view
* Fixed BetterListViewItem.CustomHeight property not taken into account in EqualsContent and Clone methods
* Fixed BetterListViewSubItemCollection
* Fixed custom collection always containing a single sub-item when created
* Fixed cloning
* Fixed unselecting item when clicked outside items and MultiSelect = false
* Fixed selecting items ranging from and item to nearest group header above it
* Fixed serialization of an empty list
* Fixed display of right-aligned text when image is displayed after the text (columns, groups, items/sub-items)
* Fixed display of group header splitter line when the text is centered or right-aligned
* Fixed display of item selection in Details view when FullRowSelect is set to false
* Fixed cloning of BetterListViewItem.CheckState property
* Fixed first sub-item image disappearing when sub-item ImageKey property is set to null
* Fixed measurement of default group header
BREAKING CHANGES
* Replaced BetterListViewItem.ShowCheckBox by BetterListViewItem.CheckBoxAppearance
* Replaced BetterListViewItem.AllowDropHighlight by BetterListViewItem.CustomDropDisplayExternal and BetterListViewItem.CustomDropDisplayInternal
* Changed type of ImageSize layout property
* Renamed BetterListViewLayoutItems.ImageSizes property to BetterListViewLayoutItems.SubItemImageSizes

### Changes in version 2.9.1 (May 03, 2012)

* Added GetDropInfo method
* Fixed some Drag and Drop flaws

### Changes in version 2.9.0 (Apr 19, 2012)

* Added AlignHorizontalImage, AlignVerticalImage properties in BetterListViewItem, BetterListViewSubItem and BetterListViewColumnHeader
* Added HeaderAlignmentHorizontalImage, HeaderAlignmentVerticalImage in BetterListViewGroup
* Added GetDropInfo method to determine drop/insertion location during Drag and Drop from user code
* Enabled group focusing by right mouse button
* Improved text clipping
* Fixed EqualsContent and CopyTo methods of Better ListView element classes (missing AlignVertical/HeaderAlignmentVertical property)
* Fixed vertical image alignment in Tile view
* Fixed display of vertically centered text in LargeIcon and Thumbnail view
* Fixed NullReferenceException when InsertionMark with empty insertion location is set

### Changes in version 2.8.0 (Apr 10, 2012)

* Added SubItemFocusBehavior property
* Fixed problem when windows theme is changed to Aero in run-time
* Fixed keeping state of the control when focus is lost
* Fixed rasing SelectedItemsChanged even when drag selection ended by losing focus or mouse capture change
* Fixed horizontal scroll bar having SmallChange value too small when no items are visible (only groups)
* Fixed column headers not refreshing properly on custom scrolling in updating mode
* Fixed auto scrolling triggered during drag selecting when owner form has been minimized

### Changes in version 2.7.5 (Apr 03, 2012)

* Added automatic removal of items from the list when removed from a group
* Fixed BetterListViewItem.IsExpanded always 'true' in cloned items
* Fixed improper alignment of items when a new item with children is added to flat list
* Fixed combined item not showing combined selection when added during control initialization

### Changes in version 2.7.4 (Mar 28, 2012)

* Fixed refreshing scrolled item when BetterListViewItem.Image property is changed

### Changes in version 2.7.3 (Mar 26, 2012)

* Fixed item redrawing when selection is changed
* Fixed label editing in SmallIcon and List view

### Changes in version 2.7.2 (Mar 23, 2012)

* Fixed BetterListViewItem.Bounds and BetterListViewItem.GetBounds() returning null

### Changes in version 2.7.1 (Mar 22, 2012)

* Removed unnecessary redrawing in mouse events (caused by EnsureVisible)
* Fixed optimized redrawing in some cases when focus is changed

### Changes in version 2.7.0 (Mar 21, 2012)

* Added BetterListViewItem.CustomHeight property
* Added MaximumToolTipTextLength property
* Removed unnecessary spacing for expand buttons when ShowItemExpandButtons is set to false
* Optimized redrawing when changing item focus or selection
* Fixed possible ItemActivate after drag selection or vice verse
* Fixed text wrap when the text contains ampersand symbols
* Fixed activation through web proxy
* Workaround for .NET performance issuewhen displaying automatic tooltips with very long text

### Changes in version 2.6.0 (Mar 13, 2012)

* Added support for ElementOuterPadding layout property in Details view
* Changed BetterListViewFocusedItemChangedEventArgs properties FocusedSubItemOld, FocusedSubItemNew to FocusedColumnIndexOld, FocusedColumnIndexNew to avoid referencing a non-existing sub-item (when the last sub-item is focused and removed)
* Resolved some issues caused by obfuscation

### Changes in version 2.5.8 (Mar 01, 2012)

2.5.8.0
* Enabled Better ListView to be used from C++/CLI (resolved obfuscation issues)

### Changes in version 2.5.7 (Feb 26, 2012)

* Fixed problem when setting ImageKey to data-bound items

### Changes in version 2.5.6 (Feb 22, 2012)

* Improved automatic tooltips for Details view with columns
* Fixed column not resizing when double-clicked on the resizing area
* Fixed control not refreshing properly when Enabled property is changed on parent control
* Fixed nested RefreshView call causing column headers to break in some cases
* Fixed scrolling about 1 pixel after label editing (vertically scrolled) last item in Details view
* Fixed possible NullReferenceException when clicking on item check box
* Fixed group font problem when 'Segoe UI Regular' font is not installed

### Changes in version 2.5.5 (Feb 08, 2012)

* Fixed updating control while having zero dimensions
* Fixed ItemActivate not raised when MultiSelect is false

### Changes in version 2.5.4 (Feb 06, 2012)

* Added BetterListViewLabelEditActivation.Immediate
* Added sample for BetterListViewItem.Visible property
* Standard label editing can be invoked by clicking outside of text area
* Single-click labele editing can be invoked by clicking on item/sub-item text even if the item is not selected
* Fixed Invalidate method of BetterListViewColumnHeader, BetterListViewItem, BetterListViewGroup
* Fixed default button of the Form pressing after text label editing
* Fixed group headers not updating when MinimumSize property of the group layout changed
* Fixed possible entering inconsistent state when the control has zero dimensions

### Changes in version 2.5.3 (Feb 03, 2012)

2.5.3.0
* Fixed problem when all items in a group set invisible (BetterListViewItem.Visible set to false)
* Fixed problem when sub-items of an item are clear while some sub-item is focused

### Changes in version 2.5.2 (Feb 02, 2012)

* Added BetterListViewItem.Visible property
* Added ToString(bool) method in some collection classes to allow printing out list of individual items
* More detailed information returned in ToString methods of Better ListView elements
* Improved group header font fallback
* HitTest returns BetterListViewHitTestInfo.Empty when the control is updating
* When ContextMenuStrip is available, it can be used instead of ContextMenuStripItems
* BufferedGraphicsContext for control double-buffering is obtained from BufferedGraphicsManager instead of creating new
* Fixed changing component names in Visual Studio Component Designer (column headers, items, sub-items and groups)
* Fixed calling EnsureVisible when the control is updating (scrolling postponed util EndUpdate is called)
* Fixed selected item kept in SelectedItems collection when replaced using indexer (e.g. BetterListView.Items[1] = newItem)
* Fixed problem when clicking on column header and quickly moving mouse pointer outside client area
* Fixed return value of BetterListViewAddress.ToString
* Fixed Document Outline window blinking in Windows Forms Designer when BetterListViewItem is selected and Properties window opened at the same time
* Fixed group header text disappearing when changed in runtime
* Fixed group image not always updating when is of same size and set in runtime
* Fixed Dispose method when Array is bound to Better ListView
* Fixed ForeColorGroups property serializing to designer code even when having default value
* Fixed background image aligned to bottom/right side being shown under scroll bars

### Changes in version 2.5.1 (Jan 19, 2012)

* Extended background of combined items (both parent and child items)
* Fixed link in documentation (chapter "Hit Test")

### Changes in version 2.5.0 (Jan 18, 2012)

* Added ShowDefaultGroupHeader property
* Added GroupHeaderBehavior property
* Added BetterListViewItem.AllowSelectChildItems property
* Added BetterListViewItem.Selectable property
* Added BetterListViewItem.SelectableItem property
* Added BetterListViewItem.LastAvailableChildItem property
* Added BetterListViewSearchOptions.SelectableItemsOnly to allow searching through selectable items only
* Displayable and selectable item is recognized with hit test (the two can be different because of BetterListViewItem.AllowSelectChildItems)
* When AutoSizeImages is true (the default) in item layouts corresponding to Details view, the space for image is made only when the item actually has an image
* Default font of the group does not get unnecessarily serialized to designer generated code
* Removed unused property ShowFocusRectangle
* Fixed possibly obtaining default group instance through BottomGroup or TopGroup properties
* Fixed FindItemsWithText method accepting wrong type of item index
* Fixed content not scrolling horizontally in List view
* Fixed not keeping focused sub-item in same column after Page Down, Home and End (Details view)
* Fixed group font not creating when 'Segoe UI' is not installed (font fallback is used to 'Trebuchet MS' or to default font of the control)
Breaking Changes:
* Item property of BetterListViewHitTestInfo split to ItemDisplay and ItemSelection

### Changes in version 2.4.3 (Jan 11, 2012)

* Added LabelEditDefaultAccept property
* Added EndEdit method
* Fixed horizontal scrolling
Breaking Changes:
* When label edit is cancelled by the control (e.g. by losing focus), the default action is not accepting the edited data - this can be set by LabelEditDefaultAccept property to false

### Changes in version 2.4.2 (Jan 05, 2012)

* Fixed vertical scroll bar not showing up
* Fixed accessing disposed back buffer Graphics object after removing control from designer surface
* Fixed links to Index in Better ListView Express Documentation
* Fixed project file of Visual Basic samples for Express edition

### Changes in version 2.4.1 (Dec 28, 2011)

* Faster initialization when BeginUpdate/EndUpdate not used and the control does not have parent / is invisible
* Fixed scrolling horizontally when columns exceed width of client area in other views than Details

### Changes in version 2.4.0 (Dec 21, 2011)

* Added FocusedItemChanged event
* Added Center layout property to allow change of item centering in Thumbnails and LargeIcon views
* Added hotkey prefix display support
* Every column have its own resizing style (BetterListViewColumnHeader.SmoothResize)
* When a group is clicked, only the group header is scrolled into view (not the entire group)
* Improved performance of multi-line items
* Fixed rendering multiline text with custom newlines
* Fixed group item enumerator
Breaking Changes:
* BetterListView.SmoothColumnResize property moved to BetterListViewColumnHeader.SmoothResize

### Changes in version 2.3.3 (Dec 01, 2011)

* Added ViewChanged event
* Added CheckedItemsChanged event
* Added scrolling to group when clicked
* Fixed raising CheckItemReorder event raised every time (not only when ItemReorderMode is set to Custom)
* Fixed displaying items when ShowGroups is false and the items are contained in some group in other control
* Fixed problem when setting Image property of sub-item to null after changing view where the sub-item has empty image size
* Fixed behavior of the BetterListViewItem.Checked property setter
* Fixed ItemChecked event raising when Checked or CheckState property of BetterListViewItem changed from user code
* Fixed vertical scroll bar disappearing in Details view when the control was too wide
* Fixed not scrolling to leftmost part of an item in Details view when changing selection
* Fixed rasing SelectedItemsChanged and ItemSelectionChanged events on disposing Better ListView containing selected items
Breaking Changes:
* Use CheckedItemsChanged event for handling check state changes of multiple items
* properties CurrentValue, NewValue of ItemCheckedEventArgs renamed to OldCheckState, NewCheckState

### Changes in version 2.3.2 (Nov 24, 2011)

* Added support for newline characters in text (multi-line text)
* Added BetterListViewSubItemBounds.BoundsImageFrame
* Extended BetterListViewItemComparer
* CheckItemReorder event is raised even when ItemReorderMode is set to Enabled (not only Custom)
* Columns, items and groups get automatically removed from Better ListView when the control is disposed
* Optimized changing images in runtime
* Extended documentation (Multi-line Items, Selecting and Checking Items, Sorting Items)
* Fixed IsAnythingSelected property
* Fixed SelectedIndices collection not containing updated indices after sorting items
* Fixed possible problem when sub-item is replaced by the user in IBetterListViewEmbeddedControl.SetData method during label edit operation
Breaking Changes:
* Renamed BetterListViewItemActivateItemActivationSource to BetterListViewItemActivationSource
* For owner drawing in empty image area of custom size, use BetterListViewSubItemBounds.BoundsImageFrameBounds instead of BetterListViewSubItemBounds.BoundsImage

### Changes in version 2.3.1 (Nov 16, 2011)

* Added HideSelectionMode property
* Fixed sub-item with TextWrapping.Space wrapping text to more lines than specified by MaximumTextLines layout property

### Changes in version 2.3.0 (Nov 15, 2011)

* Added BetterListViewItem.TextWrapping (BetterListViewSubItem.TextWrapping) property
* Added vertical text alignment for columns, items, sub-items and groups
* Added BetterListViewDrawItemEventArgs.DrawEnabled and BetterListViewDrawItemEventArgs.DrawFocused properties
* Added comparation operators to BetterListViewAddress
* When items are selected from user code, new selections with Shift or Control+Shift keys are made from the item with lowest index (address) value
* Sub-item text aligned on top in Details view
* Revised and extended documentation
* Fixed item text not displaying properly on items in Thumbnails view
* Fixed item images not refreshing when another ImageList is set with same image sizes
* Fixed problem when modifying tree hierarchy in runtime
Breaking Changes:
* BetterListViewColumnHeader.Align renamed to BetterListViewColumnHeader.AlignHorizontal
* BetterListViewGroup.HeaderAlignment renamed to BetterListViewGroup.HeaderAlignmentHorizontal
* BetterListViewItem.Align renamed to BetterListViewItem.AlignHorizontal
* BetterListViewSubItem.Align renamed to BetterListViewSubItem.AlignHorizontal
* TextAlignment changed to TextAlignmentHorizontal

### Changes in version 2.2.0 (Nov 08, 2011)

* DefaultTextAlignment, DefaultTextTrimming layout properties made editable
* Expand button is hidden on empty groups
* Revised Better ListView Documentation
* Fixed ArgumentOutOfRange exception when hierarchical items are re-measured in specific order
* Fixed displaying images when using ImageList
* Fixed adding columns and items in design-time
* Fixed selections with Control-Shift pressed
* Fixed problem when collapsing group emptied by item reordering
* Fixed problem when reordering columns when there is a bound data source
* Minor fixes in Samples Explorer
Breaking Changes:
* LayoutOptions property has been replaced by layout propery AutoSizeImages (e.g. LayoutItemsCurrent.AutoSizeImages)

### Changes in version 2.1.3 (Oct 31, 2011)

* Fixed item not refreshing after sub-items added/removed
* Fixed item not refreshing after child items added/removed

### Changes in version 2.1.2 (Oct 27, 2011)

* Fixed ordering of items in SelectedItems collection when child items are selected
* Fixed extra space in column headers when images are displayed just in some of the column headers

### Changes in version 2.1.1 (Oct 21, 2011)

* Improved natural item comparer to support longer numbers
* Fixed adding item to end of the list when reordering items into different group
* Fixed items not updating when column is auto-resized or data source changed
* Fixed blank space for image not appearing on custom image layout

### Changes in version 2.1.0 (Oct 14, 2011)

* Added 'static' column resizing option
* Added optional automatic item resizing in Details view when columns are not visible
* Added special collections for selected items and indices
* Added special collections for checked item indices
* Added SelectedItemsChanged event
* Added methods FindNearestItem and BetterListViewItem.FindNearestItem
* Added automatic insertion of items into Better ListView, when added to group or group into Better ListView
* Added new C# and Visual Basic samples
* Added 'EqualsContent' method for 'by value' comparison of elements and collections
* Optimized performance of expand/collapse operations on items and groups
* Optimized performance of modifying item collection
* ItemSelectionChanged event is raised per-item as in the .NET ListView
* Date/time format set to Short by default in DateTimePicker embedded control
* BetterListViewView enum made compatible with System.Windows.Forms.View
* Revised and corrected XML documentation
* Corrected access modifier of InnerList property of collections from public to private
* Default column width increased to 128 pixels (was 60 pixels)
* Fixed column header backround display when vertical scroll bar is visible
* Fixed group header display when column headers are wider than client area and horizontally scrolling
* Fixed possible initialization of sub-item, column or group with null text
* Fixed BetterListViewItem.Selected setter
* Fixed BetterListViewItemIndexComparer taking item hierarchy into account
* Fixed BetterListViewItem.Level getter
* Fixed making selection with Shift+arrow after items have been removed from the list
* Fixed editing sub-item collection in Windows Forms Designer
* Fixed not sorting when ItemComparer is set and sorting is suspended
* Fixed property ColorInsertionMark not having effect on insertion mark color
Extended documentation
* Added Quick Start Tutorial
* Added C# and Visual Basic sample source code
* Added 'Quick Start' chapter
* Extended 'Performance' chapter
Breaking Changes
* Behavior of ItemSelectionChanged event has been adjusted according to original .NET ListView
* Removed setter of CheckedIndices, CheckedItems, SelectedIndices and SelectedItems
* BetterListItem constructor with parameters (string, string) have different meaning, use (string[]) instead
* BetterListViewColumnHeader constructor with paramter (int) refers to ImageIndex property, not Width property
* Property IsSelected of BetterListViewItem renamed to Selected
* Value comparisons of implementations of Equals and IEquatable<T>.Equals moved to 'EqualsContent' method

### Changes in version 2.0.3.2 (Aug 28, 2011)

* Fixed re-installation of betterlistview.dll in GAC

### Changes in version 2.0.3 (Aug 17, 2011)

* Added item/sub-item image border drawing option
* Added customizable image border color
* Images in Thumbnails view centered vertically
* Fixed refreshing control when Font property set
* Fixed measurement of fonts with overhang glyphs (italics)

### Changes in version 2.0.2 (Aug 09, 2011)

* Added 'File Explorer' in samples
* Implemented CopyTo() method in element classes to allow for proper cloning of derived objects
* Fixed column header display when scrolling in List view
* Fixed SelectedItems property for selecting child items
* Fixed selecting item when item collection changed between MouseDown and MouseUp events (e.g. during DoubleClick)

### Changes in version 2.0.1 (Aug 04, 2011)

* Added column hiding feature (Visible property)
* Optimized column resizing and sorting with many items
* Fixed label editing when MultiSelect is false
* Fixed reordering item into another item in another group as a child
* Fixed setting focused item after Drag and Drop, item reordering or position binding when the control is in update state

### Changes in version 2.0 (Jul 31, 2011)

* Added groups support
* Added hierarchical item support
* Added multi-line item support
* Added data binding
* Added DateTimePicker label editing
control
* Added ItemWidth and ItemHeight layout
properties to customize item size
* Added adjustable padding for each element part, element and whole layout
* Added type conversions between BetterListViewEmptyText and String
* Added type conversions between BetterListViewToolTipInfo and String
* Added TileSize property (item sizes in any other views - including the Tile view - can be set via layout settings)
* Added Horizontal grid lines (can be visible even when columns are hidden)
* Added GetItemNearest methods to get item nearest to the specified location
* Added 'virtual' sorting (SortVirtual property)
* Added AfterLabledEditCancel event to allow cancelling label editing after the value has been commited by the user
* Added CLS-compliance
* Added missing XML comments
* Content can saved/loaded to/from binary/XML format
* Objects can be added to Better ListView collections, the control will auto-convert them
* Extended item reordering capabilities
* Extended insertion mark display options (enabled/disabled state, level in item hierarchy)
* Sub-items and groups can be focused and the focus information can be retrieved for each element type
* Items can be enumerated regardless of item hierarchy through IEnumerable<BetterListViewItem> implemented by BetterListView, BetterListViewItem and BetterListViewGroup
* Maximum allowed lines of text can be set for items
* Changed type of some item collections
from ReadOnlyCollection<BetterListViewItem> to BetterListViewItemCollection (SelectedItems, CheckedItems etc.)
* Extended sorting capabilities (range sorting, sorting up to specific items)
* Nonclickable columns can be reordered
* AllowColumnResize functionality moved to property BetterListViewColumnHeader.AllowResize (per-column basis)
* Default view changed to 'Details'
* FullRowSelect property is 'true' by default
* Improved performance of thumbnail images display
* Improved performance when working with sorted list
* Improved performance of Contains and RemoveRange methods in element collections
* Synchronized BeginUpdate/EndUpdate methods for thread safety
* Column header area is not displayed when there are no column headers to save space
* Vertically centered item content in Details view
* Fixed cancelling label edit when calling BetterListView.Focus() in AferLabelEdit, AfterLabelEditEmbeddedControl event handlers
* ISerializable and IXmlSerializable implementation in elements and collection classes made explicit
* Fixed locked label edit state when right-clicking on Better ListView while label editing
* Fixed incorrect behavior of InsertRange method in element collections
* Fixed possible bug when deserializing items with sub-items using BinaryFormatter
* Fixed possible bug when using sub-item collection of deserialized item
* Fixed switched visual style elements of middle and right column headers (might become visible in custom themes)
* Fixed hit test for column headers which are both nonclickable and nonresizable
* Fixed not displaying hot state of
elements when another control captured mouse
* Fixed occasional flicker when checking a hot or focused item
* Fixed hot state of item check box when checked by mouse (only item being checked can display check box in hot state)
* Fixed EnsureVisible(Rectangle) when client size is smaller than the specified area
* Fixed searching with prefix preference and without search limit
* Fixed AutoResizeColumns not using BeginUpdate/EndUpdate method, thus causing visible redrawing
* Fixed possible flicker or hanging in update state when refreshing or exception thrown in mouse and keyboard event handlers
* Fixed not refreshing control when BackgroundImageLayout property changed

### Changes in version 1.521 (Apr 04, 2011)

* Fixed Visual Studio 2008 toolbox auto-loading
* Fixed ArgumentException occuring in LargeIcon View in some rare cases
* Drag selection is now allowed even when the control does not contain any items

### Changes in version 1.52 (Mar 29, 2011)

* Added SuspendSort(), ResumeSort(), IsSortSuspended members for controlling sorting while updating control
* Added immediate drop down when using combo box embedded control (enabled by default)
* Added separate measurement of sub-item images
* Added sorting items through BetterListView.Sort() when no column are displayed
Immediate label editing on SingleClick activation
* Method HitTest() without arguments made public
* Method ReorderColumns(int, int, bool) made public
* Fixed label editing sub-items when LabelEditItems was set to None
* Fixed removing embedded control when scrolling during label-editing
* Fixed hiding label edit control when Better ListView loses focus
* Fixed setting proper cursor during Drag and Drop operation immediately when AllowDrop is set to false
* Fixed raising ColumnWidthChanged event only when column width actually changes
* Fixed adjusting rendering with visual styles when theme has changed in run-time
* Fixed breaking of text that contains CR or LF characters alone
* Fixed item text color when BetterListViewItem.IsCut is set to true
* Fixed column headers being too high in rare cases
* Fixed black area flashing when calling Refresh() while resizing control and SetRedraw was called to suppress redrawing
* Fixed display of ampersand (&) characters within "empty text", items, column headers

### Changes in version 1.51 (Mar 07, 2011)

* Added support for offline activation
* Enhanced designer support
* Fixed the Refresh method
* Fixed minor designer support issue

### Changes in version 1.50 (Feb 14, 2011)

* New samples and new samples launcher
* Added Thumbnails view
* Added support for image borders
* Extended owner-drawing capabilities
* Extended label editing capabilities
* Changed type of BetterListViewDrawColumnHeaderBackgroundEventArgs.ColumnHeaderBounds from Rectangle to BetterListViewColumnHeaderBounds (more options available)
* Fixed behaviour of layouts in special cases
* Fixed SelectedIndexChanged event raising before Better ListView state has changed
* Fixed light borders of downsampled images
* Fixed redraw bug when calling some of the RemoveRange() overrides

### Changes in version 1.40 (Dec 31, 2010)

First public release

Download Free Trial - With sample projects See Pricing & Licensing

Version 3.15 / May 27, 2015

Seamless integration with .NET 2.0 and higher

See Quick Start Guide

See Documentation

See Class Reference

Receive product updates
and news via email:
Share this page if you like it:

More Screenshots
Download Free Trial - With sample projects See Pricing & Licensing
Free Download See Pricing & Licensing

### Latest From Our Blog

#### Activation issues and how to solve them

Wednesday, 01 March 2017

#### The Three Main Advantages Better ListView has Over the Classic .NET Framework

Thursday, 09 February 2017

#### BLV and Internet Explorer

Sunday, 13 November 2016

#### Centering Images in Better ListView Sub-items

Wednesday, 06 August 2014

#### Sub-item Check Boxes in Better ListView

Sunday, 06 July 2014
See more posts »

- Subscribe to our RSS
- Follow us on twitter

27May

#### Better ListView Express 3.15 released!

Download latest release

27May

#### Better ListView 3.15 released!

Download latest release

27May

#### Better SplitButton 3.15 released!

Download latest release

27May

#### Better Thumbnail Browser 3.15 released!

Download latest release

08Apr

#### Better ListView Express 3.14.0 released!

See what's new or Download latest release

Contact Us (Feedback) | RSS | Twitter | Sitemap | Our task management software that uses Better ListView
Copyright © 2018 ComponentOwl.com, Dextronet.com. All rights reserved. Read our EULA, Disclaimer and Privacy Policy.