Product Changelog

Version 5.1
Oct 17, 2016
New features
  • The Ctrl+click and Shift+click behavior now respects the Options.Selection.SelectionMode option.
  • The NodePopulating treeview event is now also firing when new data source item is added in bound mode.
  • Handle the case when the parent form is closed from a treeview event handler.
Bug fixes
  • A child node's ControlContainer is not shown if the child node was attached to a detached parent node.
  • Application freezes on disposing the treeview with many nodes.
  • Hidden nodes were not detached from parent node when treeview was cleared.
  • An ArgumentException is thrown in case both parent and children nodes are shown and hidden sequentially.
  • The CreateBoundNode treeview method has not been called in bound mode when a new data object added to the data source.

Version 5.0
Apr 24, 2016
New features
  • Nodes visibility filtering possibility added.
  • The CreateBoundNode treeview method is added to override the used bindable node in bound mode.
Bug fixes
  • The node control's wrap state was not counted while calculating the auto-sized column width.

Version 4.3
Jan 4, 2016
New features
  • .NET 4.6 and Visual Studio 2015 support added.
  • NodeMarker node control added.
  • NodeComboBoxString node control added.
  • NodeDateTime's editor min & max values support added.
  • NodeDateTime support of Nullable<DateTime> data type added.
  • NodeDateTime.PlaceholderText property added.
  • Use the DataColumn.Caption value, if defined, for the auto-generated column in data-bound mode.
  • Treeview rendering performance improvements while handling non-IConvertible data types in the bound mode.
  • NodeImage node control now supports more generic System.Drawing.Image data type instead of System.Drawing.Bitmap.
Bug fixes
  • HtmlTextHelper.TextToHtml produced an incorrect result when converting the HTML text with < and & symbols.
  • NodeDateTime crashes when trying to edit a dummy 1/1/1001 date.

Version 4.2
May 25, 2015
New features
  • NodeCheckBox node control now supports boolean properties in bound mode.
Bug fixes
  • The license installation window is cropped when the system font size is increased.
  • An unhandled exception is thrown when editing a DBNull value in bound mode.

Version 4.1
Mar 6, 2015
New features
  • Treeview transparent background support added.
  • The background-color HTML tag support added.
  • Ability to track the treeview horizontal scroll position.
  • Ability to override the DataProvider for each summary.
  • Ability to override the condition of when an expandable control became expanded.
  • Allow to substitute the tree column instance when binding the data by overriding the CreateBoundColumn treeview method.
  • Ability to show the columns selection form from the code.
  • Regex support is added for the FindChildNodeByText and FindChildNodesByText node methods.
Bug fixes
  • Memory leak while disposing the treeview.
  • The bound DataTable change tracking mechanism produces duplicate nodes when the DataTable re-bound multiple times.

Version 4.0
Dec 15, 2013
New features
  • The column controls was added to decorate the column header with the quick-action buttons.
  • The NodeButton node control was added to display a button inside the node.
  • The ability to clone the BindableNode class instance was added to support the copy-paste functionality in bound mode.
  • Node can now be expanded even if it was not added to the treeview or doesn't have children nodes.
  • The eNodeControlFilterMode.UseVisibility mode was added to filter node controls visibility using their Visibility property.
  • The Node.Tag property was added to store any user-defined data linked to the particular node.
  • NodeCheckBox node control now supports boolean and Nullable<boolean> data types in the unbound mode.
  • The Node.FindChildNodesByText method was added to find children nodes by their Text.
  • The NodeEditorAdjust treeview event was added to manually adjust the node editor location when user starts the node field edit.
  • The double and byte data types are now supported in the bound mode.
  • The treeview databinding major improvements when using the DataBindingElementAttribute attribute.
  • When the text wrap mode is enabled the 'new line' delimiters (\r\n, \r and \n) are supported now.
  • The treeview columns search possibilities is improved.
  • The treeview.Columns.Find(point) and treeview.Columns.GetColumnAt methods were added.
  • An unbound node control now retrieves values from the bound object instead of the BindableNode instance.
  • The MouseActionArgs.Column property was added that keeps the column on which the mouse cursor was located at the event's time.
Bug fixes
  • Treeview freezes when the children nodes were added dynamically to a lazy-loaded parent node and the mouse was over the treeview.
  • The NullReferenceException is thrown when treeview was bound to a sortable data source.
  • Treeview crashes when the node controls list is cleared and mouse was moving over the treeview.

Version 3.7
Mar 8, 2013
New features
  • .NET 4.5 and Visual Studio 2012 support added.
  • The IMG HTML tag support added.
  • The NodeComboBoxEnum node control added to display and edit an enum data fields without additional coding.
  • The MinHeight and MaxHeight node properties were added to limit the node maximal and minimal allowed height when the AutoNodeHeight mode is enabled.
  • The Colors.SummaryColorCollection treeview colors collection added to override the summaries' theme colors in design-time.
  • Ability to inject a custom node control when binding the data source.
  • The bound fields of Enum data type out-of-the-box support added.
  • The disabled Node now will not change the mouse cursor to the Hand under a HTML link.

Version 3.6
Oct 20, 2012
New features
  • The NodeColumnBackground node control added to customize the node background.
  • The NodeProgressBar.StartColorFieldName and EndColorFieldName properties have been added to bind and customize the progress bar colors per node.
  • The Node.Find<T> method added to find the nodes of specified type with a predicate.
  • Possibility to inject a data converter between the bound data source and the treeview for bidirectional auto-conversion of the treeview unsupported data types back and forth.
  • Added possibility to override the NodeProgressBar bar's colors per theme for all nodes in the treeview.
Bug fixes
  • The NullReferenceException exception is thrown when refreshing the data source and mouse is staying over the treeview.
  • Newly created node's Id property is not set with the corresponding value from the data object when a new data object is added to a bidirectional data source.
  • The NodeComboBox.MaxDropDownItems property value was not used properly.
  • The value of the field which name is specified in the DataBinding.ParentFieldName wasn't updated when moving the node between other child nodes in the new parent in data-bound and bidirectional modes.
  • New data objects are created in the attached data source if BoundMode=false but BidirectionalMode=true instead of updating existing object.
  • Not all children nodes were moved to new parent node when removing old parent node and treeview is bound to a data source.

Version 3.5
May 21, 2012
Breaking changes
  • The Node.IsVisible property has been renamed to IsRowVisible.
New features
  • The DataBindingElementAttribute.ReadOnly property added to bind readonly properties to the treeview.
  • The CurrentEditor treeview property has been exposed to get a node control that is currently shows its editor.
  • The TreeColumn.Bounds property was exposed to get the column bounds.
Bug fixes
  • The NodeColorPicker node control requests the node property instead of bound data object in a bound treeview.
  • The treeview cursor is not restored when the column was resized.
  • The treeview layout is broken when the latest visible column is hidden.
  • The NodeComboBox node control's editor commits changes right after the selected item has changed, not awaiting for confirmation from user.
  • The InvalidOperationException exception may be thrown when treeview is intensively redrawn and has a NodeControlContainer node control.
  • The HtmlTextHelper.TextToHtml method does not convert symbol '&' within the supplied text into a correct html presentation.
  • Bound data row become in 'Deleted' state when moving the node by drag & drop or from the code.
  • Bad performance of a bound treeview in debug mode.
  • The IsBeforeAction argument of the KeyDown and KeyUp treeview events is always TRUE.
  • Compilation error in C++ projects.
  • The Samples Suite project starts slowly under VS debugger.

Version 3.4
Dec 6, 2011
New features
  • Interactive check state in the data-bound mode now is supported.
  • The NodeCheckBox node control now supports binding to the bool, Nullable<bool>, int, Nullable<int> and eCheckState property types.
  • The Interactive check state calculation algorithm now doesn't take into account nodes with hidden NodeCheckState node control.
Bug fixes
  • .NET 4.0 Client Profile application build error when Flexible TreeView assembly is referenced.
  • Hidden node control still appear in the drag & drop thumbnail image.
  • The Node.AddRange method throws NullReferenceException exception when called for a node that was not added to the treeview.
  • An exception is thrown when the attached control that cannot be focused was clicked.
  • The treeview throws the NullReferenceException exception when its structure being changed and the redraw operation occurs at the same time.

Version 3.3
Sep 20, 2011
New features
  • Separate built assemblies for .NET 2.0, 4.0 and 4.0 Client Profile are now provided with the installation.
  • NodeCheckBox node control now shows the highlighted icons when the mouse hovers over the node control.
  • Possibility to override hot icons used by the NodeCheckBox node control.
  • The <tab [width='xx']> new HTML markup tag is added to insert the tabs into a HTML formatted text.
  • NodeComboBox node control now automatically shows the drop-down list when the node editing was started.
Bug fixes
  • The treeview.Nodes.Clear method didn't clear the SelectedNode/FocusedNode values.
  • Node control's custom cursor was not taken into account and changed to default when the node control was clicked.

Version 3.2
Aug 23, 2011
Breaking changes
  • All data source fields with the same DataBindingElementAttribute.DisplayName value now shown in one column.
  • Treeview.Columns.GetColumns method was renamed to FilterColumns to clearly reflect the method purpose.
New features
  • Bidirectional (two-way) data binding was added.
  • The DataBindingElementAttribute.AutoSizeColumn property added to autosize the generated columns in bound mode.
Bug fixes
  • The node with an attached user control didn't clear current selection when this control is clicked.

Version 3.1
Jul 17, 2011
New features
  • Treeview.PageScrollRowCount property added to define count of rows to scroll when the PageUp or PageDown keys was pressed.
  • Possibility to override the column header text and icon appearance by overriding the DrawText and DrawImage TreeColumn's methods was added.
Bug fixes
  • Treeview with an animated NodeImage node control hangs when disposed.
  • Incorrect width calculation of the auto-sizable column.
  • Exception is thrown when the node is collapsed while the mouse was under a child node.
  • Wrong node controls layout when they span columns and a node control before the plus-minus symbol is present.
  • Child nodes are invisible for a parent with load-on-demand enabled in some cases.
  • Treeview does not expand the node with the load-on-demand enabled when the Right key is pressed.
  • Node editor is not hidden when a modal window was displayed from the NodeEdited event handler.
  • The plus-minus symbol was displayed in the drag&drop thumbnail image while should not.

Version 3.0
Apr 30, 2011
New features
  • SmartVerticalScrollSpeedFactor treeview property added to be able to control the smart vertical scroll speed.
  • NodeIndexChanged treeview event added to notify when the node index is changed.
  • The Find(Func<Node,bool> predicate) node method added to search for the nodes with a predicate.
  • Performance improvements when adding many nodes to the treeview.
  • Performance improvements when working with the big data sources in the treeview.
  • NodeInserted and NodeRemoved treeview events now raised when the node parent has changed.
  • NodeCheckBox node control now raises the NodeEditValidate and NodeEdited treeview events when the user changes the node check state.
  • The 'Node. Load on demand' Knowledge Base topic added.
  • The 'Treeviews performance comparison' Knowledge Base topic added.
Bug fixes
  • Wrong node editor position when the user interaction take in place before the editor was shown.
  • The 'Access to the disposed object' exception was thrown if start editing a node in the recreated treeview.
  • Broken nodes layout in the treeview with many node levels.
  • Row background incomplete update when using the Node.Invalidate method.
  • Error when many treeviews are bound to the same data simultaneously.
  • Error when many data-bound treeviews are created simultaneously.
  • Wrong data binding result to an image property in some cases.
  • Wrong scroll position when scrolling using the mouse wheel in the unfocused treeview.

Version 2.8
Nov 19, 2010
Breaking changes
  • The Treeview.DragDropOptions.AutoMoveNodes property has been replaced with the DropAction property with Notify, AutoMove, AutoCopy, AutoMoveOrCopy modes.
  • The DragDropState.RealNode treeview property has been renamed to RealTargetNode.
New features
  • Ability to move the plus-minus symbol to other non-first columns is added.
  • Ability to display node controls on the left side of the plus-minus symbol is added.
  • NodeImage.HoverDataFieldName property added to auto-display other image when the node control is under the mouse cursor.
  • NodeImage.UseHoverImageForSelectedNode property added to use hover images for the selected/focused nodes.
  • eEditStartMode.ClickOnSelected (option for the EditStartMode node control property) mode is added to start editing only when a selected or focused node has been clicked.
  • LicenseManager console application added to manage Flexible TreeView licenses in the corporate environment or the build machines where Visual Studio is not installed.
  • The NodeEdited treeview event contract has been expanded and now provides the node bound member old and new values.
  • Double click on the editable node control does not start editing of this node control now.
  • Treeview performance has been increased when node controls are bound to non-existing node members.
Bug fixes
  • Color editor didn't apply the color changes automatically when the mouse cursor hovers over the color box.
  • Exception was thrown within the MouseUp event handler when the mouse down logic is customized by the user code.
  • Exception was thrown when a non-selected node is focused in the treeview with the activated selection validation.
  • Node control editor doesn't update own position properly when other node was highlighted.

Version 2.7
Aug 1, 2010
Breaking changes
  • Now treeview doesn't clear selection if the mouse is clicked on a selected node.
New features
  • Data binding support was completely reimplemented.
  • NodeCheckBox node control now can be bound to a boolean field as well along with the eCheckState.
Bug fixes
  • An exception is thrown when the user right clicked on the non-column space.
  • An exception is thrown in some cases when disposing the treeview control.
  • Expandable control doesn't store the title font style properly.
  • Treeview crashes when the Home or End keys were pressed in the treeview with no focused node.

Version 2.6
May 13, 2010
New features
  • Visual Studio 2010 support and integration added.
  • Bound data access speed has been greatly improved.
  • The NodeDateTime node control added to display and edit the date/time value in the treeview.
  • The FillFreeSpace column property added to auto-stretch last column to fill all the available treeview free space.
  • The NodeEditorHidden treeview event added.
  • The node control value editing started by a hot key (NodeControl.EditHotKey) now begins without a delay specified in the EditStartDelay treeview property.
Bug fixes
  • The treeview didn't start editing if the data is empty.
  • Wrong node order is kept when sorting data by the NodeNumeric node control.
  • The NodeNumeric edit control shown the entered digits incorrectly.

Version 2.5
Mar 13, 2010
Breaking changes
  • The IsSimpleSelection treeview property has been renamed to HasSimpleSelection.
New features
  • The NodeProgressBar node control has been added to show the progress bar in the treeview.
  • The CreateDragDataObject treeview method added to customize the drag & drop data type and content to be able to drop the nodes into the external applications.
  • The IAttachableControl interface added to dynamically interact with the custom controls attached through the ControlContainer.
  • The Invalidate node method added to update only the specific node in the treeview.
  • The AllParentNodes node property added to easily enumerate node's parent nodes.
  • The IsChecked node property added to quickly check whether the node is checked.
  • The HotNodeChanged treeview event's contract has been extended to provide the information about the previous and new hot node.
Bug fixes
  • The HotNodeChanged treeview event raised twice when the mouse hover over the column header.
  • NodeCheckBox didn't update the bound property when the node check state changes.
  • The treeview crashes when the node with the attached controls is detached.
  • The StackOverflowException exception raised on the drag & drop operation from an external application.
  • Treeview doesn't scroll with the mouse wheel with specific mouse settings.
  • Treeview doesn't hide the node editor when is scrolled by the scroll bar.

Version 2.3
Jan 4, 2010
Breaking changes
  • The 'TreeView' node, node control and column properties were renamed to 'Treeview' to maintain consistency with other classes.
New features
  • The ColumnSpan node control property added to allow the node control to span the specified columns count.
  • The Wrap node control property added to display the node control below all sibling node controls.
  • The Options.NodeControl.DynamicColumnSpan treeview property added to dynamically control the node control's column span value.
  • The NodeControlColumnSpan treeview event added to dynamically set the node control's column span value.
  • The Visibility and VisibilityManager node control properties added to specify the node control's visibility within the node with different states.
  • The ImageAlign column property now has the eColumnImageAlign type and new alignment called Center has been added to center the column image.
  • The IsHot node property added to check whether the node currently is under the mouse cursor.
  • The IsVisibleForNode node control method added to manually control the node control visibility for every node.
  • The eObjectVisibility.GeneralNode mode added to be able to display a node control or control container for a node that's not selected, not focused, not hot and not soft selected.
  • The IHtmlTagInspector interface added to be able to control the appearance of every html tag shown in the treeview.
  • Performance improvements when using the visibility manager in the treeview with multiple nodes.
Bug fixes
  • Node didn't display summaries correctly.
  • Cannot deselect the latest selected node when the AllowEmptySelection treeview option is enabled.
  • The SelectionChanged treeview event wasn't raised when an already selected node has been focused in the treeview with multi-selection enabled.

Version 2.1
Nov 30, 2009
Bug fixes
  • The hosted custom controls were not visible in the treeview.

Version 2.0
Nov 22, 2009
Breaking changes
  • The eNodeControlVisibility type has been moved from ARMSoft.FlexibleTreeView.Nodes to ARMSoft.FlexibleTreeView.NodeControls namespace.
New features
  • Summaries support added to display an aggregation operation result.
  • The NodeSeparator node control added to show the horizontal separator line within the node.
  • The PaintRowBackground treeview event added to override every node background.
  • The IndexableNode node class added to easily instantiate a node with an identifier.
  • The SelectionChanged treeview event now raises as well when the node has been detached from the parent node.
  • The NodeControl.ExcludeFromSelection option now can be applied in the Partial highlight mode as well.
Bug fixes
  • An empty node instance was passed to the NodeControlPopupShowing event parameter.
  • Node controls in the hidden column were taken into account when calculating the node height but should not.
  • Wrong node index in some cases when reordering nodes by drag & drop.
  • Arithmetic overflow exception on Windows 7 when the treeview is scrolled by the mouse wheel.
  • The color/gradient property designer raises an exception in some cases.

Version 1.4
Sep 5, 2009
New features
  • The DragDropOptions.AllowReorder property added to allow the user easily reorder the nodes by drag & drop (multi-selection is supported) when AutoMove is enabled.
  • The Column's context menu has been added.
  • The <s> HTML tag support added to show the strikeout text.
  • The Node.Deselect method added to deselect a selected node.
  • The DoDragDropNodes treeview method added to start the drag & drop process programmatically.
  • Popupable node control improvements:
    1. The AutoFocus node control property added to auto-focus popup's control when it's shown.
    2. The NodeControlPopupShow treeview event has been replaced by the NodeControlPopupShowing and NodeControlPopupShown events that raised before and after the popup is shown respectively.
  • The Select(Node[]) treeview method added to select multiple nodes with one method call.
  • The LocalizeText treeview event added to easily localize the text, used in the treeview.
  • The Options.Node.FocusOnControlClick treeview property added to focus the node when an attached custom control was clicked.
  • The Checked node property added to easily change the node's check state.
  • When a custom control attached to a node receives focus, the parent node hosting that control will also receive focus if it was previously unfocused.
  • The OnDragDrop treeview event now is raised anyway even if the node's auto-move feature is enabled, to notify that the drag & drop process is finished.
  • API improvements:
    1. The Selected node property has been renamed to IsSelected and setter was removed. To select a node use the Select node method.
    2. The Focused node property has been renamed to IsFocused and setter was removed. To focus a node use the Focused node method.
Bug fixes
  • Incorrect text size calculation in some cases.
  • Incorrect NodeCombBox drop-down items retrieval when an interactive dropdown list is enabled.
  • MouseMove node control didn't call properly on the node drag & drop.
  • Incorrect selection state of selected nodes when the node is detached.
  • The NodeControlContainer node control shown the attached control in a wrong place when drag & drop is started.
  • The treeview doesn't allow to drag multiple selected nodes if there's no focused node.
  • The treeview keeps the 'deny' cursor when drag & drop is finished if drop has been denied.
  • The NodeComboBox node control throws an exception on edit start when it is bound to an unknown class member.

Version 1.3
Jun 4, 2009
Breaking changes
  • The eCheckType.RadioBox is renamed to eCheckType.RadioButton.
  • The ThemeManagerOffice2007 renamed to ThemeManagerOffice2007Blue for future improvements.
  • The NodeControlValueGet treeview event contract is changed to be more flexible and allow to partially override the node control content.
  • The Options.Column.AllowMultiColumnSort treeview property moved to the TreeView.Options.Sorting class.
New features
  • The NodeWithAnimImage class added to show animated images within the NodeImage node control.
  • The Options.Sorting.AutoReSort treeview property added to re-sort the nodes when the treeview structure or content has changed.
  • THe Image animation support added to the NodeImage node control.
  • The FadeOutImageAnimation class added to easily fadeout the image animation in the NodeImage node control.
  • The SequenceImageAnimation class added to do the sequential image animation in the NodeImage node control.
  • The NodeLink node control added to easily display a text as a hyperlink.
  • The AttachToColumn node control's method added to link a node control to a column by using the column instance instead of its identifier.
  • Node styles was extended with the colors for a disabled node.
  • The design-time editor for the ColumnId node control's property added to easily bind the node control to a column.
  • The NodePaintBox node control added to show a completely custom content (like an image, text etc.) within the node.
  • The NodeWithColor node class with the Color property added to easily use it with the NodeColorPicker node control.
  • The NodeWithGradient node class with the Gradient property added to easily use it with the NodeColorPicker node control.
  • The NodePopupContainer node control added to pop up a custom content (user controls, images etc.) upon the mouse click.
  • The Cursor property added to all node control classes to customize the mouse cursor under a node control.
  • The NodeColorPicker node control added to select a color or color gradient from the Office2007 styled color picker.
  • The OnChanged node's virtual method added to notify the derived classes about the node changes.
  • The NodeControlContainer node control added to show custom controls inside a node.
  • The NodeExpandableControlContainer expandable node control added to show custom controls inside the node control's expandable area.
  • The NodeWithControl node class added to easily show the custom control inside a node by using the NodeControlContainer or NodeExpandableControlContainer node controls.
  • The GetNodeFieldValue node control method is exposed to retrieve the node data within the TreeView.NodeControlValueGet event for node control's content customization when NodeControl.VirtualMode is enabled.
  • The ViewUpdate treeview method is exposed to allow the treeview quick updates with lower overhead when something non-important (colors, gradients etc.) has changed.
  • The HtmlTextHelper.HtmlToText method added to convert a HTML text to a raw text with HTML tags auto-convertion.
  • The Options.Selection.FocusNodeOnLinkClick treeview property added to auto-focus the node when a hyper link has been clicked inside that node.
  • The VertScrollPosChanged treeview event added to monitor the treeview vertical scrollbar position changes.
  • The Flash node method added to quickly 'flash' the node and catch an user eye on it.
  • The ExpandChildren(bool pExpandSelf, int pExpandLevel) node method added to expand children nodes up to the specified child depth level.
  • The CollapseChildren(bool pCollapseSelf, int pCollapseLevel) node method added to collapse children nodes up to the specified child depth level.
  • The HotNodeChanged treeview event added to easily monitor the nodes under the mouse cursor when the mouse is moving over the treeview.
  • The AttachTo node control method added to easily attach a node control to a treeview in run-time.
  • TextEnabledSolidColor/TextEnabledInactiveSolidColor/TextDisabledSolidColor properties added to the text node controls and node styles to easily adjust the colors of the enabled/enabled inactive and disabled object states.
  • The Style.Weak node property added to decide on how to combine the node style with the treeview settings.
  • The NodeWithLink node class added for an easy integration with the NodeLink node control.
  • The ColumnSortOrderChanged event parameters were extended with a sorting node controls list.
  • The Colors property for a description text of the expandable node control within the selected/focused/hot node added to the TreeView.Colors.NodeControl.ExpandableControl for future improvements.
Bug fixes
  • Sorting a detached node thrown an exception.
  • Wrong node check initial state when the load on demand is enabled.
  • The TreeComboBox thrown an exception in the VS designer.
  • The ThemeManager thrown an exception when running on Windows with the classic theme enabled.
  • Wrong selection source in the SelectionChanged event when the mouse clicked with Control or Shift keys are pressed.
  • Broken treeview license when the application file name was changed.
  • The VertScrollPos treeview property change doesn't update the vertical scrollbar position properly.
  • A node with zero height cause the treeview to display incorrectly.
  • Deselecting a node with dynamic height doesn't recalculate the node height in some cases.
  • Selecting the nodes by the mouse in the empty treeview thrown an exception.
  • The Style node's property changes do not auto-update the treeview.
  • A node control did not start editing with a keyboard shortcut.
  • Wrong node height calculation when changing the text wrap mode in the treeview without columns.
  • Node didn't show custom background gradient properly.
  • Treeview didn't auto-expand the selected or focused node on drag & drop.
  • The NodeNumeric node control thrown an exception on editing when the DecimalPlaces equals to -1.
  • Incorrect treeview content width calculation when a node control with FillFreeSpace enabled exists.

Version 1.2.1
Mar 29, 2009
New features
  • The Select node's method without parameters added to just select a node.
  • The ExcludeFromSelection node control property added to exclude a node control from the node selection area when tree's highlight mode is ContentOnly.
  • The Sort node method with a custom node comparer parameter added to give more flexibility when sorting the nodes.
Bug fixes
  • Changing the color gradient's angle thrown an exception.
  • The NodeImage node control wasn't displayed within the selected node when the treeview highlight mode equals to ContentOnly.
  • Moving a node control between columns doesn't re-sort the treeview.

Version 1.2
Mar 9, 2009
New features
  • The HTML text rendering support added.
  • Plain and HTML text auto-wrapping support added.
  • The TreeComboBox control added to show a treeview as a combo box's drop down.
  • Allow to scroll the treeview content even if it is not focused.
  • The ExpandedTitleStyle property added to the ExpandableTextBox and ExpandablePanel node controls to easily change the title's text style of the node control in expanded state.
  • The ExpandableTextBox.DescriptionStyle property added to easily change the custom area's text style of the expandable node control.
  • The ExpandableControl.TitleAlign property added to align the title text within an expandable node control.
  • The NodeExpandableTextBox.DescriptionAlign property added to align the description text within an expandable node control.
  • The Weak property added to the expandable control's TitleStyle, ExpandedTitleStyle, DescriptionStyle properties for non intrusive text style manipulations.
  • The DragDropSettings.AutoMoveNodes property added to move the dragging nodes without additional coding.
  • Draw column bounds on resize.
  • The TreeView.Options.Sorting.GroupAlwaysOnTop property and TreeView.IsGroupNode event added to keep all "group" nodes on top when sorting the nodes.
  • The SelectionChanging event now has the event arguments that describe how the selection was changed (programmatically, by mouse, or keyboard).
  • The StaticValue property added to the NodeTextBox and NodeNumeric node controls to show a static content instead of the node field value.
  • The FilterDragNodeControl event added to filter node controls when creating the drag & drop thumbnail image.
  • The FlexibleTreeView.DefaultNodeComparer setter added to override the default sort behavior.
  • The FlexibleTreeView.VertScrollPos property added to manually scroll the treeview vertically.
  • The TreeColumn.GetPreferableColumnWidth() method added to get the column width so all the column content is visible.
  • The Node.EnumerateParents method added to easily enumerate all node parent nodes.
  • The NodeWithImage.ImageOpacity property added which allows to dynamically control the image opacity for every node.
  • The Options.Node.ShowRootPlusMinus added to show or hide the plus-minus symbol for the root nodes.
  • The Options.Selection.SelectionMode.MultiSameLevel added to select only the nodes of the same level.
  • The Options.Selection.SelectionMode.MultiSameParent added to select only the nodes within the same parent.
Bug fixes
  • Fill the column Text property with a default value when it attaches to the treeview.
  • Treeview shows the drop position mark even if drag & drop is denied.
  • Wrong thumbnail image size on the first drag & drop.
  • Clicking a node control with the Shift key starts the edit operation while should only select the clicked node.
  • ColorGradient editor now applies changes only when the OK button is clicked.
  • The Cursor isn't changing when the drop permissions are changed.
  • The Cursor isn't changing when the Control key pressed on drag & drop.
  • Drop is denied when the mouse went out and comes back to the treeview bounds.
  • Hiding (filtering out) the node control within a node didn't recalculate the node height.
  • Hot node is wasn't invalidated when the treeview is scrolling and the mouse went out of its bounds.
  • If AllowEmptySelection is enabled, node still can be unselected by clicking on the empty space.
  • If single node is selected but not focused there's no way to make this node focused.
  • Last node isn't visible in the tree with an expandable node control when a node of smaller height is selected.
  • Moving the node to another parent node causes wrong selection state restoration in some cases.
  • Non-visible node control still appear in the thumbnail image on drag & drop.
  • Pressing the Left key didn't select the previous node when a root-level node is selected.
  • Selecting a node with an expandable node control doesn't recalculate treeview's content width.
  • Selecting the nodes with Shift key sometimes thrown an exception.
  • ThemeManager didn't allow to customize the colors and color gradients due to those properties inaccessibility.
  • Treeview in some cases doesn't clear selection when the Options.Selection.AllowEmptySelection option is enabled.
  • When scroll bar is moving and mouse is over a treeview, it highlights a node under the mouse cursor.
  • Wrong auto-sizing result of the first treeview's column when the AutoFitColumns is enabled.
  • Wrong column auto-sizing result because the invisible node controls were not excluding.
  • Wrong treeview content width calculation in the treeview without columns.
  • Treeview doesn't allow to scroll to the latest node when a node with an expandable node control is selected.

Version 1.0
Nov 20, 2008
First public release.