Better ListView Changelog

What's new in Better ListView 3.14.0

Apr 8, 2015
  • Fixed scrolling when all items are unselectable

New in Better ListView 3.13.0 (Dec 2, 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

New in Better ListView 3.11.0 (Aug 7, 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

New in Better ListView 3.10.0 (Jul 7, 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

New in Better ListView 3.9.1 (May 19, 2014)

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

New in Better ListView 3.9.0 (Apr 25, 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

New in Better ListView 3.8.3 (Feb 3, 2014)

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

New in Better ListView 3.8.2 (Oct 28, 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)

New in Better ListView 3.8.1 (Sep 21, 2013)

  • Fixed search highlight in other than Details view

New in Better ListView 3.8.0 (Sep 11, 2013)

  • Fixed search highlight on multi-line items

New in Better ListView 3.7.7 (Aug 28, 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

New in Better ListView 3.7.6 (Jul 8, 2013)

  • Fixed item deselection when clicking on client area

New in Better ListView 3.7.5 (Jun 25, 2013)

  • Fixed item selection by clicking on group header

New in Better ListView 3.7.4 (Jun 25, 2013)

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

New in Better ListView 3.7.3 (May 31, 2013)

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

New in Better ListView 3.7.2 (Apr 11, 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

New in Better ListView 3.7.1 (Mar 29, 2013)

  • Fixed Visual Studio Toolbox integration on Windows XP

New in Better ListView 3.7.0 (Mar 19, 2013)

  • Added HScrollHeight, VScrollWidth properties

New in Better ListView 3.6.1 (Mar 2, 2013)

  • Fixed unnecessary redrawing during MouseMove

New in Better ListView 3.6.0 (Mar 1, 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

New in Better ListView 3.5.0 (Jan 28, 2013)

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

New in Better ListView 3.4.3 (Jan 19, 2013)

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

New in Better ListView 3.4.2 (Jan 14, 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

New in Better ListView 3.4.1 (Dec 21, 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)

New in Better ListView 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) or SelectedItems.AddRange(IEnumerable)

New in Better ListView 3.3.2 (Dec 10, 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

New in Better ListView 3.3.1 (Dec 6, 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

New in Better ListView 3.3.0 (Dec 3, 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

New in Better ListView 3.2.2 (Oct 9, 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

New in Better ListView 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

New in Better ListView 3.2.0 (Aug 28, 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

New in Better ListView 3.1.1 (Aug 8, 2012)

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

New in Better ListView 3.1.0 (Aug 4, 2012)

  • Changes:
  • 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); 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

New in Better ListView 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

New in Better ListView 2.9.1 (May 3, 2012)

  • Added GetDropInfo method
  • Fixed some Drag and Drop flaws

New in Better ListView 2.9.0 (Apr 20, 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

New in Better ListView 2.8.0 (Apr 10, 2012)

  • 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

New in Better ListView 2.7.5 (Apr 4, 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

New in Better ListView 2.7.4 (Mar 29, 2012)

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

New in Better ListView 2.7.3 (Mar 27, 2012)

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

New in Better ListView 2.7.2 (Mar 23, 2012)

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

New in Better ListView 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

New in Better ListView 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

New in Better ListView 2.6.0 (Mar 14, 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

New in Better ListView 2.5.8 (Mar 1, 2012)

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

New in Better ListView 2.5.7 (Feb 27, 2012)

  • Fixed problem when setting ImageKey to data-bound items

New in Better ListView 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

New in Better ListView 2.5.5 (Feb 8, 2012)

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

New in Better ListView 2.5.4 (Feb 6, 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

New in Better ListView 2.5.3 (Feb 4, 2012)

  • 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

New in Better ListView 2.5.2 (Feb 3, 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

New in Better ListView 2.5.1 (Jan 20, 2012)

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

New in Better ListView 2.5.0 (Jan 19, 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

New in Better ListView 2.4.3 (Jan 14, 2012)

  • Changes:
  • 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

New in Better ListView 2.4.2 (Jan 5, 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

New in Better ListView 2.4.1 (Dec 30, 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

New in Better ListView 2.4.0 (Dec 28, 2011)

  • Changes:
  • 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

New in Better ListView 2.3.2 (Nov 29, 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

New in Better ListView 2.3.1 (Nov 17, 2011)

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

New in Better ListView 2.3.0 (Nov 16, 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

New in Better ListView 2.2.0 (Nov 10, 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)

New in Better ListView 2.1.3 (Nov 10, 2011)

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

New in Better ListView 2.1.2 (Nov 10, 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

New in Better ListView 2.1.1 (Nov 10, 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

New in Better ListView 2.1.0 (Nov 10, 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.Equals moved to 'EqualsContent' method

New in Better ListView 2.0.3.2 (Nov 10, 2011)

  • Fixed re-installation of betterlistview.dll in GAC

New in Better ListView 2.03 (Aug 18, 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)

New in Better ListView 2.02 (Aug 17, 2011)

  • Supports hierarchical items (tree)
  • Always uses current system theme. Looks great with Aero.
  • Flicker free and double-buffered
  • Enhanced image support (each sub-item can have an image, automatic intelligent resizing, and more)
  • Improved drag & drop support and behavior
  • Improved checkboxes (usable in all view modes, three-state checkboxes support, better behavior)
  • Improved selections behavior (mimics Windows Explorer)
  • Auto-scroll while reordering items and column headers
  • Multi-column sorting
  • Improved column headers (eg. they can be used in all layouts)
  • Context menu for column headers
  • Column header images supported
  • Added automatic tooltips for items with too long text
  • Complex data-binding support added
  • All elements can be owner-drawn
  • Rich ListView event data
  • Customizable searching by typing