New to Telerik UI for WinFormsStart a free 30-day trial

Represents a hierarchical tree view control that displays a collection of labeled items in a tree structure. Each item is represented by a RadTreeNode and can contain child nodes, images, and custom content. The control supports data binding, drag-and-drop operations, context menus, and various selection modes.

Definition

Namespace:Telerik.WinControls.UI

Assembly:Telerik.WinControls.UI.dll

Syntax:

C#
[TelerikToolboxCategory("Data Controls")]
[ComplexBindingProperties("DataSource", "DataMember")]
[LookupBindingProperties("DataSource", "DisplayMember", "ValueMember", "SelectedNode")]
[Docking(DockingBehavior.Ask)]
public class RadTreeView : RadControl, IDropTarget, ISynchronizeInvoke, IWin32Window, IBindableComponent, IComponent, IDisposable, INotifyPropertyChanged, ISupportInitializeNotification, ISupportInitialize, IComponentTreeHandler, ILayoutHandler, IAnalyticsProvider, IFilterable, ISupportRootUIAutomation

Inheritance: objectMarshalByRefObjectComponentControlScrollableControlRadControlRadTreeView...

Derived Classes: RadDataFilter

Implements: IAnalyticsProviderIBindableComponentIComponentIComponentTreeHandlerIDisposableIDropTargetIFilterableILayoutHandlerINotifyPropertyChangedISupportInitializeISupportInitializeNotificationISupportRootUIAutomationISynchronizeInvokeIWin32Window...

Inherited Members RadControl.isResizing2RadControl.isDisposing2RadControl.invalidResizeRectRadControl.isAccessibilityRequestedRadControl.Construct()RadControl.CreateBehavior()RadControl.CreateRootElement()RadControl.InitializeRootElement(RootRadElement)RadControl.LoadElementTree()RadControl.LoadElementTree(Size)RadControl.SetBackColorThemeOverrides()RadControl.ResetBackColorThemeOverrides()RadControl.SetForeColorThemeOverrides()RadControl.ResetForeColorThemeOverrides()RadControl.OnKeyUp(KeyEventArgs)RadControl.OnPreviewKeyDown(PreviewKeyDownEventArgs)RadControl.OnDoubleClick(EventArgs)RadControl.OnMouseHover(EventArgs)RadControl.OnMouseCaptureChanged(EventArgs)RadControl.OnCreateControl()RadControl.OnHandleDestroyed(EventArgs)RadControl.OnParentChanged(EventArgs)RadControl.OnVisibleChanged(EventArgs)RadControl.OnFontChanged(EventArgs)RadControl.OnForeColorChanged(EventArgs)RadControl.OnBackColorChanged(EventArgs)RadControl.OnEnabledChanged(EventArgs)RadControl.OnLocationChanged(EventArgs)RadControl.OnPaddingChanged(EventArgs)RadControl.OnRightToLeftChanged(EventArgs)RadControl.OnPaint(PaintEventArgs)RadControl.OnLayout(LayoutEventArgs)RadControl.OnAutoSizeChanged(EventArgs)RadControl.OnInvalidated(RadElement)RadControl.OnCaptureLosing()RadControl.OnThemeChanged()RadControl.OnToolTipTextNeeded(object, ToolTipTextNeededEventArgs)RadControl.OnScreenTipNeeded(object, ScreenTipNeededEventArgs)RadControl.ProcessMnemonic(char)RadControl.ProcessFocusRequested(RadElement)RadControl.ProcessCaptureChangeRequested(RadElement, bool)RadControl.ProcessAutoSizeChanged(bool)RadControl.GetInputElement()RadControl.OnNotifyPropertyChanged(string)RadControl.GetPreferredSize(Size)RadControl.SetBoundsCore(int, int, int, int, BoundsSpecified)RadControl.GetRootElementDesiredSize(int, int, int, int)RadControl.OnZoomGesture(ZoomGestureEventArgs)RadControl.OnRotateGesture(RotateGestureEventArgs)RadControl.OnPanGesture(PanGestureEventArgs)RadControl.OnTwoFingerTapGesture(GestureEventArgs)RadControl.OnPressAndTapGesture(PressAndTapGestureEventArgs)RadControl.OnGesture(GestureEventArgs)RadControl.ProcessGesture(Message)RadControl.EnableGesture(GestureType)RadControl.DisableGesture(GestureType)RadControl.Refresh()RadControl.SuspendUpdate()RadControl.ResumeUpdate()RadControl.ResumeUpdate(bool)RadControl.InvokeLayoutCallback(LayoutCallback)RadControl.RegisterHostedControl(RadHostItem)RadControl.UnregisterHostedControl(RadHostItem, bool)RadControl.ResolveStyleGroupForElement(StyleGroup, RadObject)RadControl.GetPlainText()RadControl.ShouldSerializeProperty(RadProperty)RadControl.ShouldSerializeProperty(RadProperty, RadObject)RadControl.ResetProperty(RadProperty, RadObject)RadControl.CanEditElementAtDesignTime(RadElement)RadControl.FindPropertyInChildren(RadControl, IPCMessage)RadControl.ScaleControl(SizeF, BoundsSpecified)RadControl.PerformRadAutoScale(BoundsSpecified?)RadControl.GetMonitorDpiScaleFactor(Control)RadControl.SetRadAutoScale(bool)RadControl.EnableDpiScalingRadControl.EnableRadAutoScaleRadControl.EnableRadFormInitialDpiScalingRadControl.EnableImageDpiScalingRadControl.EnableSvgImagesRadControl.IsLoadedRadControl.ElementTreeRadControl.UseCompatibleTextRenderingDefaultValueRadControl.BehaviorRadControl.RootElementRadControl.PaddingRadControl.ThemeNameRadControl.TextRadControl.EnableThemingRadControl.ThemeClassNameRadControl.ImageListRadControl.ImageScalingSizeRadControl.UseCompatibleTextRenderingRadControl.AutoSizeRadControl.MaximumSizeRadControl.MinimumSizeRadControl.FocusableRadControl.SiteRadControl.CausesValidationRadControl.IsInitializingRadControl.SmallImageListRadControl.SmallImageScalingSizeRadControl.IsDesignModeRadControl.IsDisplayedRadControl.FocusedElementRadControl.AllowShowFocusCuesRadControl.ShowItemToolTipsRadControl.CommandBindingsRadControl.EnableKeyMapRadControl.BackColorRadControl.ForeColorRadControl.FontRadControl.ValidationCancelRadControl.EnableAnalyticsRadControl.AnalyticsNameRadControl.EnableRadAccessibilityObjectsRadControl.EnableCodedUITestsRadControl.EnableCodedUITestsDefaultValueRadControl.EnableUIAutomationDefaultValueRadControl.ElementInvalidatedRadControl.ToolTipTextNeededRadControl.ScreenTipNeededRadControl.ThemeNameChangedRadControl.InitializedRadControl.PropertyChangedRadControl.ZoomGestureRadControl.RotateGestureRadControl.PanGestureRadControl.TwoFingerTapGestureRadControl.PressAndTapGestureScrollableControl.ScrollStateAutoScrollingScrollableControl.ScrollStateHScrollVisibleScrollableControl.ScrollStateVScrollVisibleScrollableControl.ScrollStateUserHasScrolledScrollableControl.ScrollStateFullDragScrollableControl.AdjustFormScrollbars(bool)ScrollableControl.GetScrollState(int)ScrollableControl.OnPaintBackground(PaintEventArgs)ScrollableControl.SetDisplayRectLocation(int, int)ScrollableControl.ScrollControlIntoView(Control)ScrollableControl.ScrollToControl(Control)ScrollableControl.OnScroll(ScrollEventArgs)ScrollableControl.SetAutoScrollMargin(int, int)ScrollableControl.SetScrollState(int, bool)ScrollableControl.AutoScrollMarginScrollableControl.AutoScrollPositionScrollableControl.AutoScrollMinSizeScrollableControl.CreateParamsScrollableControl.DisplayRectangleScrollableControl.HScrollScrollableControl.HorizontalScrollScrollableControl.VScrollScrollableControl.VerticalScrollScrollableControl.ScrollControl.GetAccessibilityObjectById(int)Control.SetAutoSizeMode(AutoSizeMode)Control.GetAutoSizeMode()Control.AccessibilityNotifyClients(AccessibleEvents, int)Control.AccessibilityNotifyClients(AccessibleEvents, int, int)Control.BeginInvoke(Delegate)Control.BeginInvoke(Delegate, params object[])Control.BringToFront()Control.Contains(Control)Control.CreateControlsInstance()Control.CreateGraphics()Control.CreateHandle()Control.CreateControl()Control.DefWndProc(ref Message)Control.DestroyHandle()Control.DoDragDrop(object, DragDropEffects)Control.DrawToBitmap(Bitmap, Rectangle)Control.EndInvoke(IAsyncResult)Control.FindForm()Control.GetTopLevel()Control.RaiseKeyEvent(object, KeyEventArgs)Control.RaiseMouseEvent(object, MouseEventArgs)Control.Focus()Control.FromChildHandle(IntPtr)Control.FromHandle(IntPtr)Control.GetChildAtPoint(Point, GetChildAtPointSkip)Control.GetChildAtPoint(Point)Control.GetContainerControl()Control.GetScaledBounds(Rectangle, SizeF, BoundsSpecified)Control.GetNextControl(Control, bool)Control.GetStyle(ControlStyles)Control.Hide()Control.InitLayout()Control.Invalidate(Region)Control.Invalidate(Region, bool)Control.Invalidate()Control.Invalidate(bool)Control.Invalidate(Rectangle)Control.Invalidate(Rectangle, bool)Control.Invoke(Delegate)Control.Invoke(Delegate, params object[])Control.InvokePaint(Control, PaintEventArgs)Control.InvokePaintBackground(Control, PaintEventArgs)Control.IsKeyLocked(Keys)Control.IsInputChar(char)Control.IsMnemonic(char, string)Control.LogicalToDeviceUnits(int)Control.LogicalToDeviceUnits(Size)Control.ScaleBitmapLogicalToDevice(ref Bitmap)Control.NotifyInvalidate(Rectangle)Control.InvokeOnClick(Control, EventArgs)Control.OnBackgroundImageChanged(EventArgs)Control.OnBackgroundImageLayoutChanged(EventArgs)Control.OnCausesValidationChanged(EventArgs)Control.OnContextMenuChanged(EventArgs)Control.OnContextMenuStripChanged(EventArgs)Control.OnCursorChanged(EventArgs)Control.OnDockChanged(EventArgs)Control.OnNotifyMessage(Message)Control.OnParentBackColorChanged(EventArgs)Control.OnParentBackgroundImageChanged(EventArgs)Control.OnParentBindingContextChanged(EventArgs)Control.OnParentCursorChanged(EventArgs)Control.OnParentEnabledChanged(EventArgs)Control.OnParentFontChanged(EventArgs)Control.OnParentForeColorChanged(EventArgs)Control.OnParentRightToLeftChanged(EventArgs)Control.OnParentVisibleChanged(EventArgs)Control.OnPrint(PaintEventArgs)Control.OnTabIndexChanged(EventArgs)Control.OnTabStopChanged(EventArgs)Control.OnTextChanged(EventArgs)Control.OnClientSizeChanged(EventArgs)Control.OnControlAdded(ControlEventArgs)Control.OnControlRemoved(ControlEventArgs)Control.OnHandleCreated(EventArgs)Control.OnDragEnter(DragEventArgs)Control.OnDragOver(DragEventArgs)Control.OnDragLeave(EventArgs)Control.OnDragDrop(DragEventArgs)Control.OnGiveFeedback(GiveFeedbackEventArgs)Control.OnEnter(EventArgs)Control.InvokeGotFocus(Control, EventArgs)Control.OnHelpRequested(HelpEventArgs)Control.OnInvalidated(InvalidateEventArgs)Control.OnLeave(EventArgs)Control.InvokeLostFocus(Control, EventArgs)Control.OnMarginChanged(EventArgs)Control.OnDpiChangedBeforeParent(EventArgs)Control.OnDpiChangedAfterParent(EventArgs)Control.OnMove(EventArgs)Control.OnQueryContinueDrag(QueryContinueDragEventArgs)Control.OnRegionChanged(EventArgs)Control.OnResize(EventArgs)Control.OnSizeChanged(EventArgs)Control.OnChangeUICues(UICuesEventArgs)Control.OnStyleChanged(EventArgs)Control.OnSystemColorsChanged(EventArgs)Control.OnValidating(CancelEventArgs)Control.OnValidated(EventArgs)Control.RescaleConstantsForDpi(int, int)Control.PerformLayout()Control.PerformLayout(Control, string)Control.PointToClient(Point)Control.PointToScreen(Point)Control.PreProcessMessage(ref Message)Control.PreProcessControlMessage(ref Message)Control.ProcessCmdKey(ref Message, Keys)Control.ProcessDialogChar(char)Control.ProcessDialogKey(Keys)Control.ProcessKeyEventArgs(ref Message)Control.ProcessKeyMessage(ref Message)Control.ProcessKeyPreview(ref Message)Control.RaiseDragEvent(object, DragEventArgs)Control.RaisePaintEvent(object, PaintEventArgs)Control.RecreateHandle()Control.RectangleToClient(Rectangle)Control.RectangleToScreen(Rectangle)Control.ReflectMessage(IntPtr, ref Message)Control.ResetMouseEventArgs()Control.ResetText()Control.ResumeLayout()Control.ResumeLayout(bool)Control.Scale(SizeF)Control.Select()Control.Select(bool, bool)Control.SelectNextControl(Control, bool, bool, bool, bool)Control.SendToBack()Control.SetBounds(int, int, int, int)Control.SetBounds(int, int, int, int, BoundsSpecified)Control.SetClientSizeCore(int, int)Control.SizeFromClientSize(Size)Control.SetStyle(ControlStyles, bool)Control.SetTopLevel(bool)Control.SetVisibleCore(bool)Control.RtlTranslateAlignment(HorizontalAlignment)Control.RtlTranslateAlignment(LeftRightAlignment)Control.RtlTranslateAlignment(ContentAlignment)Control.RtlTranslateHorizontal(HorizontalAlignment)Control.RtlTranslateLeftRight(LeftRightAlignment)Control.RtlTranslateContent(ContentAlignment)Control.Show()Control.SuspendLayout()Control.Update()Control.UpdateBounds()Control.UpdateBounds(int, int, int, int)Control.UpdateBounds(int, int, int, int, int, int)Control.UpdateZOrder()Control.UpdateStyles()Control.OnImeModeChanged(EventArgs)Control.AccessibilityObjectControl.AccessibleDefaultActionDescriptionControl.AccessibleDescriptionControl.AccessibleNameControl.AccessibleRoleControl.AllowDropControl.AnchorControl.AutoScrollOffsetControl.LayoutEngineControl.BackgroundImageControl.BackgroundImageLayoutControl.BindingContextControl.BottomControl.BoundsControl.CanFocusControl.CanRaiseEventsControl.CanSelectControl.CaptureControl.CheckForIllegalCrossThreadCallsControl.ClientRectangleControl.ClientSizeControl.CompanyNameControl.ContainsFocusControl.ContextMenuControl.ControlsControl.CreatedControl.CursorControl.DataBindingsControl.DefaultBackColorControl.DefaultCursorControl.DefaultFontControl.DefaultForeColorControl.DefaultMarginControl.DefaultMaximumSizeControl.DefaultMinimumSizeControl.DefaultPaddingControl.DeviceDpiControl.IsDisposedControl.DisposingControl.DockControl.DoubleBufferedControl.EnabledControl.FocusedControl.FontHeightControl.HandleControl.HasChildrenControl.HeightControl.IsHandleCreatedControl.InvokeRequiredControl.IsAccessibleControl.IsMirroredControl.LeftControl.LocationControl.MarginControl.ModifierKeysControl.MouseButtonsControl.MousePositionControl.NameControl.ParentControl.ProductNameControl.ProductVersionControl.RecreatingHandleControl.RegionControl.RenderRightToLeftControl.ResizeRedrawControl.RightControl.RightToLeftControl.ScaleChildrenControl.SizeControl.TabIndexControl.TabStopControl.TagControl.TopControl.TopLevelControlControl.ShowKeyboardCuesControl.ShowFocusCuesControl.UseWaitCursorControl.VisibleControl.WidthControl.PreferredSizeControl.CanEnableImeControl.DefaultImeModeControl.ImeModeControl.ImeModeBaseControl.PropagatingImeModeControl.BackColorChangedControl.BackgroundImageChangedControl.BackgroundImageLayoutChangedControl.BindingContextChangedControl.CausesValidationChangedControl.ClientSizeChangedControl.ContextMenuChangedControl.ContextMenuStripChangedControl.CursorChangedControl.DockChangedControl.EnabledChangedControl.FontChangedControl.ForeColorChangedControl.LocationChangedControl.MarginChangedControl.RegionChangedControl.RightToLeftChangedControl.SizeChangedControl.TabIndexChangedControl.TabStopChangedControl.TextChangedControl.VisibleChangedControl.ClickControl.ControlAddedControl.ControlRemovedControl.DragDropControl.DragEnterControl.DragOverControl.DragLeaveControl.GiveFeedbackControl.HandleCreatedControl.HandleDestroyedControl.HelpRequestedControl.InvalidatedControl.PaddingChangedControl.PaintControl.QueryContinueDragControl.QueryAccessibilityHelpControl.DoubleClickControl.EnterControl.GotFocusControl.KeyDownControl.KeyPressControl.KeyUpControl.LayoutControl.LeaveControl.LostFocusControl.MouseClickControl.MouseDoubleClickControl.MouseCaptureChangedControl.MouseDownControl.MouseEnterControl.MouseLeaveControl.DpiChangedBeforeParentControl.DpiChangedAfterParentControl.MouseHoverControl.MouseMoveControl.MouseUpControl.MouseWheelControl.MoveControl.PreviewKeyDownControl.ResizeControl.ChangeUICuesControl.StyleChangedControl.SystemColorsChangedControl.ValidatingControl.ValidatedControl.ParentChangedControl.ImeModeChangedComponent.Dispose()Component.GetService(Type)Component.EventsComponent.ContainerComponent.DesignModeComponent.DisposedMarshalByRefObject.MemberwiseClone(bool)MarshalByRefObject.GetLifetimeService()MarshalByRefObject.InitializeLifetimeService()MarshalByRefObject.CreateObjRef(Type)...

Constructors

Initializes a new instance of the RadTreeView class with default settings. Sets up event handlers and prepares the tree view for operation.

C#
public RadTreeView()

Properties

Gets the active editor currently being used for editing a tree node. Returns null if no node is currently being edited.

C#
public IInputEditor ActiveEditor { get; }

Gets or sets a value indicating whether adding new tree nodes is allowed. When enabled, users can create new nodes through the user interface.

C#
public virtual bool AllowAdd { get; set; }

Gets or sets a value indicating whether tree nodes can have different heights. When enabled, individual nodes can be sized independently based on their content.

C#
[Browsable(true)]
public virtual bool AllowArbitraryItemHeight { get; set; }

Gets or sets a value indicating whether the default context menu is enabled for the tree view. When enabled, a built-in context menu with common operations is available.

C#
public bool AllowDefaultContextMenu { get; set; }

Gets or sets a value indicating whether drag and drop operations with tree view nodes are enabled. When enabled, users can drag nodes to reorder or move them within the tree structure.

C#
public virtual bool AllowDragDrop { get; set; }

Gets or sets a value indicating whether node text editing is allowed. When enabled, users can edit node text by clicking on selected nodes or pressing F2.

C#
public virtual bool AllowEdit { get; set; }

Gets or sets a value indicating whether animation of expand/collapse buttons is enabled. When enabled, the plus/minus buttons will be animated during expand/collapse operations.

C#
public bool AllowPlusMinusAnimation { get; set; }

Gets or sets a value indicating whether removing tree nodes is allowed. When enabled, users can delete nodes through the user interface.

C#
public virtual bool AllowRemove { get; set; }

Gets or sets a value indicating whether child nodes should be automatically checked when the tree view is in tri-state mode. When enabled, checking a parent node will automatically check all its child nodes.

C#
public virtual bool AutoCheckChildNodes { get; set; }

Gets or sets a value indicating whether the control automatically provides scrollbars when content exceeds the visible area. This property controls the automatic display of scrollbars in the tree view when needed.

C#
[Browsable(false)]
public override bool AutoScroll { get; set; }

Overrides: ScrollableControl.AutoScroll

Gets or sets a value indicating whether checkboxes are displayed beside the tree nodes. When enabled, users can check/uncheck nodes independently of selection.

C#
public virtual bool CheckBoxes { get; set; }

Gets or sets the property in the data source that determines the checked state of tree node checkboxes. This property is used when CheckBoxes is enabled and the tree view is data-bound.

C#
public virtual string CheckedMember { get; set; }

Gets the collection of tree nodes that are currently checked. This collection is populated when CheckBoxes is enabled.

C#
[Browsable(false)]
public virtual CheckedTreeNodeCollection CheckedNodes { get; }

Gets or sets the property in the data source that contains child node data for hierarchical binding. This property is used for self-referencing data sources to establish parent-child relationships.

C#
public virtual string ChildMember { get; set; }

Gets or sets the ContextMenuStrip associated with this control.

C#
[Browsable(false)]
public override ContextMenuStrip ContextMenuStrip { get; set; }

Overrides: Control.ContextMenuStrip

Gets or sets the name of the data member in the data source for which the RadTreeView is displaying data. This property specifies which table or list within the data source to bind to.

C#
[Browsable(true)]
public virtual string DataMember { get; set; }

Gets or sets the data source that provides data for the RadTreeView. This can be any object that implements IList or IListSource.

C#
public virtual object DataSource { get; set; }

Implements: IFilterable.DataSource

Gets the default size for the tree view control.

C#
protected override Size DefaultSize { get; }

Overrides: Control.DefaultSize

Gets or sets the property to display for each tree node when the tree view is data-bound. This property specifies which field from the data source should be used for node text.

C#
public virtual string DisplayMember { get; set; }

Gets or sets the color of the drop hint displayed during drag and drop operations. The drop hint provides visual feedback to assist users in understanding where items can be dropped.

C#
public Color DropHintColor { get; set; }

Gets or sets a value indicating whether deferred scrolling is enabled for improved performance. When enabled, scrolling updates are deferred until the scrolling operation completes.

C#
[Browsable(false)]
public bool EnableDeferredScrolling { get; set; }

Gets or sets a value indicating whether kinetic scrolling is enabled for touch-based interactions. When enabled, scrolling continues with momentum after the user stops touching, providing a natural scrolling experience.

C#
[Browsable(true)]
public bool EnableKineticScrolling { get; set; }

Gets or sets a value indicating whether the UI Automation functionality is enabled or disabled for this control.

C#
public override bool EnableUIAutomation { get; set; }

Overrides: RadControl.EnableUIAutomation

Implements: ISupportRootUIAutomation.EnableUIAutomation

Gets or sets the type of animation used when expanding or collapsing tree nodes. This property controls the visual effect applied during node expand/collapse operations.

C#
public ExpandAnimation ExpandAnimation { get; set; }

Gets or sets the expand mode that controls how nodes can be expanded. This property determines whether single or multiple nodes can be expanded simultaneously.

C#
[Browsable(false)]
public ExpandMode ExpandMode { get; set; }

Gets or sets the filter applied to tree nodes. This property allows filtering of tree nodes based on custom criteria.

C#
[Browsable(false)]
public virtual object Filter { get; set; }

Gets the collection of filter descriptors applied to the tree view. These descriptors define the filtering criteria for tree nodes.

C#
[Browsable(false)]
public virtual FilterDescriptorCollection FilterDescriptors { get; }

Implements: IFilterable.FilterDescriptors

Gets or sets the string comparer used for keyboard navigation functionality. This comparer determines how text matching is performed during keyboard search.

C#
[Browsable(false)]
public virtual IFindStringComparer FindStringComparer { get; set; }

Gets or sets a value indicating whether the selection highlight spans the full width of the tree view. When enabled, the selected node highlight extends across the entire width of the control.

C#
public virtual bool FullRowSelect { get; set; }

Gets or sets a value indicating whether the selection highlight is hidden when the control loses focus. When enabled, selected nodes remain visually highlighted even when the tree view is not focused.

C#
public virtual bool HideSelection { get; set; }

Gets or sets a value indicating whether hot tracking is enabled for tree nodes. When enabled, nodes are highlighted when the mouse pointer hovers over them.

C#
public virtual bool HotTracking { get; set; }

Gets the horizontal scroll bar element of the tree view control. This scroll bar appears when the tree content extends beyond the control's width.

C#
[Browsable(false)]
public RadScrollBarElement HScrollBar { get; }

Gets or sets the default image index for tree nodes in the associated ImageList. This value is used for nodes that don't have a specific image index assigned.

C#
[RelatedImageList("ImageList")]
[TypeConverter("Telerik.WinControls.UI.Design.NoneExcludedImageIndexConverter, Telerik.WinControls.UI.Design, Version=2026.2.702.48, Culture=neutral, PublicKeyToken=5bb2a467cbec794e")]
public virtual int ImageIndex { get; set; }

Gets or sets the default image key for tree nodes in the associated ImageList. This value is used for nodes that don't have a specific image key assigned.

C#
[RelatedImageList("ImageList")]
[TypeConverter(typeof(ImageKeyConverter))]
public virtual string ImageKey { get; set; }

Gets a value indicating whether there is an active editor currently open for editing a tree node. Returns true if a node is currently being edited, false otherwise.

C#
[Browsable(true)]
public bool IsEditing { get; }

Gets or sets the height of tree view items in pixels. This property controls the vertical spacing of tree nodes.

C#
[Browsable(false)]
public virtual int ItemHeight { get; set; }

Gets or sets a value indicating whether keyboard search navigation is enabled. When enabled, users can navigate to nodes by typing the first characters of node text.

C#
[Browsable(true)]
public virtual bool KeyboardSearchEnabled { get; set; }

Gets or sets the time interval in milliseconds before keyboard search is reset. This determines how long to wait between keystrokes before starting a new search.

C#
[Browsable(true)]
public virtual int KeyboardSearchResetInterval { get; set; }

Gets or sets a value indicating whether the tree view loads child node collections in the NodesNeeded event only when parent nodes are expanded. This lazy loading approach improves performance by deferring node loading until actually needed.

C#
[Browsable(false)]
public bool LazyMode { get; set; }

Gets or sets the color of the lines connecting parent and child nodes in the tree view. This property is only effective when ShowLines is enabled.

C#
public virtual Color LineColor { get; set; }

Gets or sets the style of lines connecting parent and child nodes in the tree view. This property controls the visual appearance of the connecting lines when ShowLines is enabled.

C#
public virtual TreeLineStyle LineStyle { get; set; }

Gets or sets the width in pixels of the lines connecting parent and child nodes. This property controls the thickness of the connecting lines when ShowLines is enabled.

C#
public virtual float LineWidth { get; set; }

Gets or sets a value indicating whether the user is allowed to select multiple tree nodes at one time. When enabled, users can hold Ctrl or Shift keys to select multiple nodes.

C#
public virtual bool MultiSelect { get; set; }

Gets the collection of tree nodes that are assigned to the tree view control. This collection contains all root-level nodes and provides access to the entire tree structure.

C#
[Browsable(true)]
public virtual RadTreeNodeCollection Nodes { get; }

Gets or sets the property in the data source that identifies the parent node for hierarchical binding. This property is used for self-referencing data sources to establish parent-child relationships.

C#
public virtual string ParentMember { get; set; }

Gets or sets the character used as a separator in the node path. This separator is used when constructing or parsing hierarchical node paths.

C#
public virtual string PathSeparator { get; set; }

Gets or sets the opacity animation step for expand/collapse animation. This controls the granularity of the opacity change during node expand/collapse animations.

C#
[Browsable(false)]
public double PlusMinusAnimationStep { get; set; }

Gets or sets the RadContextMenu associated with this tree view control. This context menu is displayed when users right-click on the tree view.

C#
public virtual RadContextMenu RadContextMenu { get; set; }

Gets the collection of relation bindings that define how hierarchical data relationships are established. This collection contains data binding settings for related data in master-detail scenarios.

C#
[Browsable(true)]
public RelationBindingCollection RelationBindings { get; }

Gets or sets the currently selected tree node. Returns null if no node is selected.

C#
[Browsable(false)]
public virtual RadTreeNode SelectedNode { get; set; }

Gets the collection of currently selected tree nodes. This collection contains all selected nodes when MultiSelect is enabled.

C#
[Browsable(false)]
public virtual SelectedTreeNodeCollection SelectedNodes { get; }

Gets or sets a value indicating whether drag hints are displayed when dragging items. When enabled, visual feedback shows the item being dragged during drag and drop operations.

C#
public bool ShowDragHint { get; set; }

Gets or sets a value indicating whether drop hints are displayed during drag and drop operations. When enabled, visual indicators show where items can be dropped in the tree hierarchy.

C#
public bool ShowDropHint { get; set; }

Gets or sets a value indicating whether expand/collapse buttons are shown next to nodes with children. When enabled, plus/minus buttons allow users to expand or collapse parent nodes.

C#
public bool ShowExpandCollapse { get; set; }

Gets or sets a value indicating whether lines connecting parent and child nodes are displayed. When enabled, visual lines show the hierarchical relationship between nodes.

C#
public virtual bool ShowLines { get; set; }

Gets or sets a value indicating whether tooltips are displayed for tree nodes. When enabled, node tooltips will be shown when hovering over nodes with the mouse.

C#
public bool ShowNodeToolTips { get; set; }

Gets or sets a value indicating whether lines are displayed between root-level nodes. When enabled, connecting lines are shown between top-level nodes in the tree view.

C#
public bool ShowRootLines { get; set; }

Gets the collection of sort descriptors applied to the tree view. These descriptors define the sorting criteria for tree nodes.

C#
[Browsable(false)]
public SortDescriptorCollection SortDescriptors { get; }

Gets or sets the sort order of tree nodes. This property controls how nodes are sorted within each level of the tree hierarchy.

C#
[Browsable(true)]
public SortOrder SortOrder { get; set; }

Gets or sets the vertical spacing in pixels between tree nodes. This property controls the gap between adjacent nodes in the tree view.

C#
public int SpacingBetweenNodes { get; set; }

Gets or sets the default toggle mode for expanding and collapsing tree nodes. This property determines how users can expand or collapse nodes (single click, double click, etc.).

C#
public virtual ToggleMode ToggleMode { get; set; }

Gets or sets a TypeConverter used to convert checkbox toggle states to the underlying data type. This converter is used when binding checkbox states to data source properties.

C#
public virtual TypeConverter ToggleStateConverter { get; set; }

Gets the topmost visible tree node in the tree view control. This property returns the first node that is currently visible in the control's view area.

C#
[Browsable(false)]
public RadTreeNode TopNode { get; }

Gets or sets the indentation distance in pixels for each level of tree nodes. This controls the horizontal spacing between parent and child nodes.

C#
public int TreeIndent { get; set; }

Gets the underlying tree view element that provides the core functionality for the control. This element contains the main logic and rendering capabilities of the tree view.

C#
[Browsable(false)]
public virtual RadTreeViewElement TreeViewElement { get; }

Gets or sets the XML representation of the tree view structure. This property allows saving and loading the entire tree structure as XML data.

C#
public string TreeViewXml { get; set; }

Gets or sets a value indicating whether tri-state mode is enabled for node checkboxes. When enabled, checkboxes can have three states: checked, unchecked, and indeterminate.

C#
public virtual bool TriStateMode { get; set; }

Gets or sets the property in the data source that provides the value for each tree node. This property specifies which field from the data source should be used for node values.

C#
public virtual string ValueMember { get; set; }

Gets the number of tree nodes that can be fully visible in the tree view control. This count is based on the current size of the control and the height of the nodes.

C#
[Browsable(false)]
public int VisibleCount { get; }

Gets the vertical scroll bar element of the tree view control. This scroll bar appears when the tree content extends beyond the control's height.

C#
[Browsable(false)]
public RadScrollBarElement VScrollBar { get; }

Methods

Creates a new tree node and adds it at the location specified by the hierarchical path using a custom path separator. The path is parsed using the specified separator to determine the node hierarchy.

C#
public virtual RadTreeNode AddNodeByPath(string path, string pathSeparator)
Parameters:pathstring

The hierarchical path where the node should be added.

pathSeparatorstring

The custom path separator to use for parsing the path.

Returns:

RadTreeNode

The newly created RadTreeNode if the operation is successful.

Creates a new tree node and adds it at the location specified by the hierarchical path. The path is parsed using the PathSeparator to determine the node hierarchy.

C#
public virtual RadTreeNode AddNodeByPath(string path)
Parameters:pathstring

The hierarchical path where the node should be added.

Returns:

RadTreeNode

The newly created RadTreeNode if the operation is successful.

Begins edit mode for the currently selected tree node.

C#
public bool BeginEdit()
Returns:

bool

True if edit mode was successfully started; otherwise, false.

Suspends layout during initialization.

C#
public override void BeginInit()

Overrides: RadControl.BeginInit()

Disables visual updates to the tree view to improve performance during batch operations. Must be paired with a call to EndUpdate().

C#
public void BeginUpdate()

Scrolls the tree view to ensure the specified node is visible within the control's display area.

C#
public void BringIntoView(RadTreeNode node)
Parameters:nodeRadTreeNode

The tree node to bring into view.

Closes the currently active editor and discards any changes made during editing.

C#
public void CancelEdit()

Clears the current node selection, deselecting all currently selected nodes.

C#
public virtual void ClearSelection()

Collapses all tree nodes in the tree view, hiding all child nodes.

C#
public void CollapseAll()

Collapses all nodes in the specified collection, hiding their child nodes.

C#
public void CollapseAll(RadTreeNodeCollection nodes)
Parameters:nodesRadTreeNodeCollection

The collection of nodes to be collapsed.

C#
protected override AccessibleObject CreateAccessibilityInstance()
Returns:

AccessibleObject

Overrides: Control.CreateAccessibilityInstance()

Creates the child elements that make up the tree view control structure. This method instantiates the main RadTreeViewElement and adds it to the parent container.

C#
protected override void CreateChildItems(RadElement parent)
Parameters:parentRadElement

The parent RadElement that will contain the child elements.

Overrides: RadControl.CreateChildItems(RadElement)

Creates and returns a new instance of the tree view element that provides the core functionality. This method can be overridden in derived classes to provide custom tree view element implementations.

C#
protected virtual RadTreeViewElement CreateTreeViewElement()
Returns:

RadTreeViewElement

A new RadTreeViewElement instance.

Defers refresh operations for the tree view, returning a disposable object that triggers refresh when disposed. This is useful for batching multiple operations while maintaining automatic cleanup.

C#
public virtual IDisposable DeferRefresh()
Returns:

IDisposable

An IDisposable object that triggers refresh when disposed.

Releases the unmanaged resources used by the RadTreeView and optionally releases the managed resources. This method cleans up event handlers and disposes of the context menu if it's the default implementation.

C#
protected override void Dispose(bool disposing)
Parameters:disposingbool

true to release both managed and unmanaged resources; false to release only unmanaged resources.

Overrides: RadControl.Dispose(bool)

Commits any changes and ends the edit operation on the currently edited node.

C#
public bool EndEdit()
Returns:

bool

True if the edit operation was successfully ended; otherwise, false.

Resumes layout.

C#
public override void EndInit()

Overrides: RadControl.EndInit()

Re-enables visual updates to the tree view after a call to BeginUpdate(). This will refresh the tree view display with any changes made during the update period.

C#
public void EndUpdate()

Executes the specified command on the tree view with control over subtree inclusion.

C#
public object Execute(bool includeSubTrees, ICommand command, params object[] settings)
Parameters:includeSubTreesbool

True to include subtrees in the command execution; otherwise, false.

commandICommand

The command to execute.

settingsobject[]

Optional settings or parameters for the command.

Returns:

object

The result of the command execution, if any.

Executes the specified command on the tree view with optional settings.

C#
public object Execute(ICommand command, params object[] settings)
Parameters:commandICommand

The command to execute.

settingsobject[]

Optional settings or parameters for the command.

Returns:

object

The result of the command execution, if any.

Executes a command over an entire subtree starting with the specified node.

C#
public static List<object> ExecuteBatchCommand(RadTreeNode node, int level, ICommand command, params object[] settings)
Parameters:nodeRadTreeNode

The node form which the execuition starts.

levelint

The level of nodes over which to execute the command. If -1 the entire subtree is traversed.

commandICommand

The command to execute.

settingsobject[]

Parameters to pass the command prior to execution.

Returns:

List<object>

The results from the batch execution.

Executes a command over an entire subtree starting with the specified node collection. This static method allows batch operations across multiple tree branches.

C#
public static List<object> ExecuteBatchCommand(RadTreeNodeCollection nodes, int level, ICommand command, params object[] settings)
Parameters:nodesRadTreeNodeCollection

The collection of nodes from which execution starts.

levelint

The level of nodes over which to execute the command. If -1, the entire subtree is traversed.

commandICommand

The command to execute on each node.

settingsobject[]

Parameters to pass to the command prior to execution.

Returns:

List<object>

A list containing the results from the batch execution.

Executes a command over an entire subtree starting with the specified node. This static method returns the first result from the batch execution.

C#
public static object ExecuteScalarCommand(RadTreeNode node, int level, ICommand command, params object[] settings)
Parameters:nodeRadTreeNode

The node from which execution starts.

levelint

The level of nodes over which to execute the command. If -1, the entire subtree is traversed.

commandICommand

The command to execute on each node.

settingsobject[]

Parameters to pass to the command prior to execution.

Returns:

object

The first result from the batch execution.

Expands all tree nodes in the tree view, revealing all child nodes.

C#
public void ExpandAll()

Expands all nodes in the specified collection, revealing their child nodes.

C#
public virtual void ExpandAll(RadTreeNodeCollection nodes)
Parameters:nodesRadTreeNodeCollection

The collection of nodes to be expanded.

Searches for the first tree node that matches the specified predicate function.

C#
public RadTreeNode Find(Predicate<RadTreeNode> match)
Parameters:matchPredicate<RadTreeNode>

A predicate function that defines the search criteria.

Returns:

RadTreeNode

The first RadTreeNode that matches the predicate, or null if no match is found.

Searches for the first tree node whose text contains the specified string.

C#
public virtual RadTreeNode Find(string text)
Parameters:textstring

The text to search for within node text.

Returns:

RadTreeNode

The first RadTreeNode containing the specified text, or null if not found.

Searches for the first tree node that matches the specified search function with a parameter.

C#
public RadTreeNode Find<T>(FindAction<T> match, T arg)
Parameters:matchFindAction<T>

A function that defines the search criteria with a parameter.

argT

The argument to pass to the search function.

Returns:

RadTreeNode

The first RadTreeNode that matches the criteria, or null if no match is found.

Searches for all tree nodes that match the specified predicate function.

C#
public RadTreeNode[] FindNodes(Predicate<RadTreeNode> match)
Parameters:matchPredicate<RadTreeNode>

A predicate function that defines the search criteria.

Returns:

RadTreeNode[]

An array of RadTreeNode objects that match the predicate.

Searches for all tree nodes whose text contains the specified string.

C#
public virtual RadTreeNode[] FindNodes(string text)
Parameters:textstring

The text to search for within node text.

Returns:

RadTreeNode[]

An array of RadTreeNode objects containing the specified text.

Searches for all tree nodes that match the specified search function with a parameter.

C#
public RadTreeNode[] FindNodes<T>(FindAction<T> match, T arg)
Parameters:matchFindAction<T>

A function that defines the search criteria with a parameter.

argT

The argument to pass to the search function.

Returns:

RadTreeNode[]

An array of RadTreeNode objects that match the criteria.

Executes the specified action for every tree node in the tree view. The action is applied recursively to all nodes in the tree structure.

C#
public void ForEach(Action<RadTreeNode> action)
Parameters:actionAction<RadTreeNode>

The action to execute for each tree node.

Retrieves the tree node located at the specified coordinates in client coordinates.

C#
public RadTreeNode GetNodeAt(int x, int y)
Parameters:xint

The X coordinate to evaluate and retrieve the node from.

yint

The Y coordinate to evaluate and retrieve the node from.

Returns:

RadTreeNode

The RadTreeNode at the specified location, or null if no node exists at that location.

Retrieves the tree node located at the specified point in client coordinates.

C#
public RadTreeNode GetNodeAt(Point pt)
Parameters:ptPoint

The point to evaluate and retrieve the node from.

Returns:

RadTreeNode

The RadTreeNode at the specified point, or null if no node exists at that location.

Retrieves the first tree node with the specified name, searching from a specific root node. Searches recursively through the specified root node and its descendants.

C#
public RadTreeNode GetNodeByName(string name, RadTreeNode rootNode)
Parameters:namestring

The name of the node to find.

rootNodeRadTreeNode

The root node to begin the search from.

Returns:

RadTreeNode

The first RadTreeNode with the specified name, or null if not found.

Retrieves the first tree node with the specified name from the entire tree. Searches recursively through all nodes in the tree view.

C#
public RadTreeNode GetNodeByName(string name)
Parameters:namestring

The name of the node to find.

Returns:

RadTreeNode

The first RadTreeNode with the specified name, or null if not found.

Retrieves a tree node by following the specified hierarchical path using a custom path separator. The path is parsed using the specified separator to locate the node.

C#
public virtual RadTreeNode GetNodeByPath(string path, string pathSeparator)
Parameters:pathstring

The hierarchical path to the desired node.

pathSeparatorstring

The custom path separator to use for parsing the path.

Returns:

RadTreeNode

The RadTreeNode at the specified path, or null if not found.

Retrieves a tree node by following the specified hierarchical path. The path is parsed using the current PathSeparator value.

C#
public virtual RadTreeNode GetNodeByPath(string path)
Parameters:pathstring

The hierarchical path to the desired node.

Returns:

RadTreeNode

The RadTreeNode at the specified path, or null if not found.

Retrieves the total number of tree nodes in the tree view control.

C#
public int GetNodeCount(bool includeSubTrees)
Parameters:includeSubTreesbool

True to include nodes in all subtrees; false to count only top-level nodes.

Returns:

int

The total number of tree nodes in the control.

C#
protected override bool IsInputKey(Keys keyData)
Parameters:keyDataKeysReturns:

bool

Overrides: RadControl.IsInputKey(Keys)

Loads tree view structure from an XML stream with support for additional custom types.

C#
public void LoadXML(Stream stream, params Type[] extraTypes)
Parameters:streamStream

The stream containing XML data to load.

extraTypesType[]

Additional types that should be recognized during XML deserialization.

Loads tree view structure from an XML file with support for additional custom types.

C#
public void LoadXML(string fileName, params Type[] extraTypes)
Parameters:fileNamestring

The path to the XML file to load.

extraTypesType[]

Additional types that should be recognized during XML deserialization.

Loads tree view structure from an XML reader with support for additional custom types.

C#
protected virtual void LoadXMLWithReader(XmlReader reader, params Type[] extraTypes)
Parameters:readerXmlReader

The XML reader containing the tree structure data.

extraTypesType[]

Additional types that should be recognized during XML deserialization.

C#
protected override void OnBindingContextChanged(EventArgs e)
Parameters:eEventArgs

Overrides: RadControl.OnBindingContextChanged(EventArgs)

C#
protected override void OnClick(EventArgs e)
Parameters:eEventArgs

Overrides: RadControl.OnClick(EventArgs)

C#
protected override void OnGotFocus(EventArgs e)
Parameters:eEventArgs

Overrides: RadControl.OnGotFocus(EventArgs)

C#
protected override void OnKeyDown(KeyEventArgs e)
Parameters:eKeyEventArgs

Overrides: RadControl.OnKeyDown(KeyEventArgs)

C#
protected override void OnKeyPress(KeyPressEventArgs e)
Parameters:eKeyPressEventArgs

Overrides: RadControl.OnKeyPress(KeyPressEventArgs)

Handles the load event and enables pan gesture support for touch interactions. This method is called when the control is loaded and initializes gesture-based navigation.

C#
protected override void OnLoad(Size desiredSize)
Parameters:desiredSizeSize

The desired size for the control.

Overrides: RadControl.OnLoad(Size)

C#
protected override void OnLostFocus(EventArgs e)
Parameters:eEventArgs

Overrides: RadControl.OnLostFocus(EventArgs)

C#
protected override void OnMouseClick(MouseEventArgs e)
Parameters:eMouseEventArgs

Overrides: Control.OnMouseClick(MouseEventArgs)

C#
protected override void OnMouseDoubleClick(MouseEventArgs e)
Parameters:eMouseEventArgs

Overrides: Control.OnMouseDoubleClick(MouseEventArgs)

C#
protected override void OnMouseDown(MouseEventArgs e)
Parameters:eMouseEventArgs

Overrides: RadControl.OnMouseDown(MouseEventArgs)

C#
protected override void OnMouseEnter(EventArgs e)
Parameters:eEventArgs

Overrides: RadControl.OnMouseEnter(EventArgs)

C#
protected override void OnMouseLeave(EventArgs e)
Parameters:eEventArgs

Overrides: RadControl.OnMouseLeave(EventArgs)

C#
protected override void OnMouseMove(MouseEventArgs e)
Parameters:eMouseEventArgs

Overrides: RadControl.OnMouseMove(MouseEventArgs)

C#
protected override void OnMouseUp(MouseEventArgs e)
Parameters:eMouseEventArgs

Overrides: RadControl.OnMouseUp(MouseEventArgs)

C#
protected override void OnMouseWheel(MouseEventArgs e)
Parameters:eMouseEventArgs

Overrides: RadControl.OnMouseWheel(MouseEventArgs)

Handles property change notifications and updates the tree view as needed.

C#
protected override void OnNotifyPropertyChanged(PropertyChangedEventArgs e)
Parameters:ePropertyChangedEventArgs

The property change event arguments.

Overrides: RadControl.OnNotifyPropertyChanged(PropertyChangedEventArgs)

Processes Windows theme changes and updates the tree view appearance accordingly.

C#
protected override void OnThemeNameChanged(ThemeNameChangedEventArgs e)
Parameters:eThemeNameChangedEventArgs

The theme change event arguments.

Overrides: RadControl.OnThemeNameChanged(ThemeNameChangedEventArgs)

C#
protected override void ProcessCodedUIMessage(ref IPCMessage request)
Parameters:requestIPCMessage

Overrides: RadControl.ProcessCodedUIMessage(ref IPCMessage)

Saves the tree view structure to an XML stream with support for additional custom types.

C#
public void SaveXML(Stream stream, params Type[] extraTypes)
Parameters:streamStream

The stream to write XML data to.

extraTypesType[]

Additional types that should be included in XML serialization.

Saves the tree view structure to an XML file with support for additional custom types.

C#
public void SaveXML(string fileName, params Type[] extraTypes)
Parameters:fileNamestring

The path where the XML file should be saved.

extraTypesType[]

Additional types that should be included in XML serialization.

Saves the tree view structure to an XML writer with support for additional custom types.

C#
protected virtual void SaveXMLWithWriter(TextWriter writer, params Type[] extraTypes)
Parameters:writerTextWriter

The text writer to save XML data to.

extraTypesType[]

Additional types that should be included in XML serialization.

Selects all tree nodes in the tree view when MultiSelect is enabled.

C#
public virtual void SelectAll()

Sets an error message for a specific tree node, typically used for validation feedback.

C#
public void SetError(string text, RadTreeNode radTreeNode)
Parameters:textstring

The error message text to display.

radTreeNodeRadTreeNode

The tree node to associate with the error.

Returns a string representation of this tree view control, including node count information.

C#
public override string ToString()
Returns:

string

A string that represents the current tree view control.

Overrides: Component.ToString()

Removes event handler connections for the tree view control during cleanup. This method unsubscribes from events to prevent memory leaks when the control is disposed.

C#
protected virtual void UnwireEvents()

Establishes event handler connections for the tree view control. This method subscribes to essential events like SelectedNodeChanged for proper functionality.

C#
protected virtual void WireEvents()

Processes Windows messages for the tree view control, including context menu handling.

C#
protected override void WndProc(ref Message m)
Parameters:mMessage

The Windows message to process.

Overrides: RadControl.WndProc(ref Message)

Events

Occurs when a context menu is about to be opened for the tree view. This event allows customization of the context menu before it is displayed.

C#
public event TreeViewContextMenuOpeningEventHandler ContextMenuOpening

Occurs when a new tree node is about to be created during data binding or programmatic operations. This event allows customization of node creation and assignment of custom node types.

C#
public event CreateTreeNodeEventHandler CreateNode

Occurs when a new tree node element is about to be created for visual rendering. This event allows customization of the visual element that represents a tree node.

C#
public event CreateTreeNodeElementEventHandler CreateNodeElement

Occurs when a data binding error is encountered during tree view operations. This event allows handling and responding to data-related errors gracefully.

C#
public event TreeNodeDataErrorEventHandler DataError

Occurs after a drag operation has completed successfully. This event is raised when nodes have been moved or copied to their new location.

C#
public event RadTreeView.DragEndedHandler DragEnded

Occurs when a drag operation is about to end, allowing cancellation of the drop operation. This event provides an opportunity to validate and potentially cancel the drag operation.

C#
public event RadTreeView.DragEndingHandler DragEnding

Occurs when dragged content is positioned over a tree node during a drag operation. This event allows customization of visual feedback and validation of drop targets.

C#
public event EventHandler<RadTreeViewDragCancelEventArgs> DragOverNode

Occurs after a drag operation has begun and the node is being dragged. This event indicates that the drag operation is now active.

C#
public event RadTreeView.DragStartedHandler DragStarted

Occurs when a drag operation is about to begin, allowing cancellation of the operation. This event provides an opportunity to prevent certain nodes from being dragged.

C#
public event RadTreeView.DragStartingHandler DragStarting

Occurs after a tree node has finished being edited and the changes have been applied. This event provides access to the edited node and the new value.

C#
public event TreeNodeEditedEventHandler Edited

Occurs before a tree node enters edit mode for text editing. This event allows validation and cancellation of the editing operation.

C#
public event TreeNodeEditingEventHandler Editing

Occurs when the active editor for node editing has been initialized. This event allows customization of the editor after it has been created and configured.

C#
public event TreeNodeEditorInitializedEventHandler EditorInitialized

Occurs when the tree view requires an editor for node editing operations. This event allows custom editor selection and configuration for different node types.

C#
[Browsable(true)]
public event RadTreeView.EditorRequiredHandler EditorRequired

Occurs when the user begins dragging a tree node. This event is raised at the start of a drag operation when AllowDragDrop is enabled.

C#
public event RadTreeView.ItemDragHandler ItemDrag

Occurs after a tree node has been added to the tree view. This event provides access to the newly added node for initialization or logging purposes.

C#
[Browsable(true)]
public event RadTreeView.RadTreeViewEventHandler NodeAdded

Occurs before a tree node is added to the tree view, allowing cancellation of the operation. This event provides an opportunity to validate or prevent node addition.

C#
[Browsable(true)]
public event RadTreeView.RadTreeViewCancelEventHandler NodeAdding

Occurs after the checked state of a tree node has changed. This event is raised when CheckBoxes is enabled and a node's check state has been modified.

C#
public virtual event TreeNodeCheckedEventHandler NodeCheckedChanged

Occurs before the checked state of a tree node changes, allowing cancellation of the operation. This event is raised when CheckBoxes is enabled and a node's check state is about to change.

C#
public virtual event RadTreeView.RadTreeViewCancelEventHandler NodeCheckedChanging

Occurs after a tree node has been bound to a data item during data binding operations. This event allows customization of the node after it has been populated with data.

C#
[Browsable(true)]
public event RadTreeView.RadTreeViewEventHandler NodeDataBound

Occurs after a tree node has been expanded or collapsed. This event is raised when the expanded state of a node has been successfully changed.

C#
[Browsable(true)]
public event RadTreeView.TreeViewEventHandler NodeExpandedChanged

Occurs before a tree node is expanded or collapsed, allowing cancellation of the operation. This event provides an opportunity to validate or prevent expand/collapse actions.

C#
[Browsable(true)]
public event RadTreeView.RadTreeViewCancelEventHandler NodeExpandedChanging

Occurs when a tree node needs to be formatted for display. This event allows customization of node appearance based on state or data.

C#
public event TreeNodeFormattingEventHandler NodeFormatting

Occurs when a mouse button is clicked on a tree node. This event provides access to the clicked node and mouse event details.

C#
public event RadTreeView.TreeViewEventHandler NodeMouseClick

Occurs when a mouse button is double-clicked on a tree node. This event provides access to the double-clicked node and mouse event details.

C#
public event RadTreeView.TreeViewEventHandler NodeMouseDoubleClick

Occurs when the user presses a mouse button while the cursor is over a tree node. This event provides access to the specific node and mouse button information.

C#
public event RadTreeView.TreeViewMouseEventHandler NodeMouseDown

Occurs when the mouse cursor enters the area of a tree node. This event is useful for implementing custom hover effects or tooltips.

C#
public event RadTreeView.TreeViewEventHandler NodeMouseEnter

Occurs when the mouse cursor hovers over a tree node for an extended period. This event is typically used for displaying detailed tooltips or information.

C#
public event RadTreeView.TreeViewEventHandler NodeMouseHover

Occurs when the mouse cursor leaves the area of a tree node. This event is useful for cleaning up hover effects or hiding tooltips.

C#
public event RadTreeView.TreeViewEventHandler NodeMouseLeave

Occurs when the user moves the mouse cursor within the area of a tree node. This event provides access to the specific node and mouse position information.

C#
public event RadTreeView.TreeViewMouseEventHandler NodeMouseMove

Occurs when the user releases a mouse button while the cursor is over a tree node. This event provides access to the specific node and mouse button information.

C#
public event RadTreeView.TreeViewMouseEventHandler NodeMouseUp

Occurs after a tree node has been removed from the tree view. This event provides access to the removed node for cleanup or logging purposes.

C#
[Browsable(true)]
public event RadTreeView.RadTreeViewEventHandler NodeRemoved

Occurs before a tree node is removed from the tree view, allowing cancellation of the operation. This event provides an opportunity to validate or prevent node removal.

C#
[Browsable(true)]
public event RadTreeView.RadTreeViewCancelEventHandler NodeRemoving

Occurs when child nodes need to be loaded in lazy loading mode. This event is raised when LazyMode is enabled and a node is expanded for the first time.

C#
[Browsable(true)]
public event NodesNeededEventHandler NodesNeeded

Occurs after a tree node has been selected. This event is raised when the SelectedNode property changes.

C#
public virtual event RadTreeView.RadTreeViewEventHandler SelectedNodeChanged

Occurs before a tree node selection changes, allowing cancellation of the selection. This event provides an opportunity to validate and potentially prevent node selection.

C#
public virtual event RadTreeView.RadTreeViewCancelEventHandler SelectedNodeChanging

Occurs when the SelectedNodes collection has been modified. This event is raised when nodes are added to or removed from the selection.

C#
public virtual event EventHandler<RadTreeViewEventArgs> SelectedNodesChanged

Occurs when all selected nodes have been cleared from the SelectedNodes collection. This event is raised when the selection is programmatically or interactively cleared.

C#
public virtual event EventHandler SelectedNodesCleared

Occurs when the tree view needs to determine whether to show an expander for a node in lazy loading mode. This event is raised when LazyMode is enabled and the control needs to display expand indicators.

C#
public event RadTreeView.TreeViewShowExpanderEventHandler ShowExpander

Occurs when editor validation fails during the node editing process. This event is raised when the entered value does not meet validation criteria.

C#
[Browsable(true)]
public event EventHandler ValidationError

Occurs when the editor has finished editing and the new value has been committed. This event is raised after the node value has been successfully changed.

C#
[Browsable(true)]
public event TreeNodeValueChangedEventHandler ValueChanged

Occurs when the editor value is in the process of being changed during node editing. This event allows validation and modification of the value before it is committed.

C#
public event TreeNodeValueChangingEventHandler ValueChanging

Occurs when the editor value is being validated during the editing process. This event allows custom validation logic and can prevent invalid values from being accepted.

C#
[Browsable(true)]
public event TreeNodeValidatingEventHandler ValueValidating
In this article
DefinitionConstructorsRadTreeView()PropertiesActiveEditorAllowAddAllowArbitraryItemHeightAllowDefaultContextMenuAllowDragDropAllowEditAllowPlusMinusAnimationAllowRemoveAutoCheckChildNodesAutoScrollCheckBoxesCheckedMemberCheckedNodesChildMemberContextMenuStripDataMemberDataSourceDefaultSizeDisplayMemberDropHintColorEnableDeferredScrollingEnableKineticScrollingEnableUIAutomationExpandAnimationExpandModeFilterFilterDescriptorsFindStringComparerFullRowSelectHideSelectionHotTrackingHScrollBarImageIndexImageKeyIsEditingItemHeightKeyboardSearchEnabledKeyboardSearchResetIntervalLazyModeLineColorLineStyleLineWidthMultiSelectNodesParentMemberPathSeparatorPlusMinusAnimationStepRadContextMenuRelationBindingsSelectedNodeSelectedNodesShowDragHintShowDropHintShowExpandCollapseShowLinesShowNodeToolTipsShowRootLinesSortDescriptorsSortOrderSpacingBetweenNodesToggleModeToggleStateConverterTopNodeTreeIndentTreeViewElementTreeViewXmlTriStateModeValueMemberVisibleCountVScrollBarMethodsAddNodeByPath(string, string)AddNodeByPath(string)BeginEdit()BeginInit()BeginUpdate()BringIntoView(RadTreeNode)CancelEdit()ClearSelection()CollapseAll()CollapseAll(RadTreeNodeCollection)CreateAccessibilityInstance()CreateChildItems(RadElement)CreateTreeViewElement()DeferRefresh()Dispose(bool)EndEdit()EndInit()EndUpdate()Execute(bool, ICommand, params object[])Execute(ICommand, params object[])ExecuteBatchCommand(RadTreeNode, int, ICommand, params object[])ExecuteBatchCommand(RadTreeNodeCollection, int, ICommand, params object[])ExecuteScalarCommand(RadTreeNode, int, ICommand, params object[])ExpandAll()ExpandAll(RadTreeNodeCollection)Find(Predicate<RadTreeNode>)Find(string)Find<T>(FindAction<T>, T)FindNodes(Predicate<RadTreeNode>)FindNodes(string)FindNodes<T>(FindAction<T>, T)ForEach(Action<RadTreeNode>)GetNodeAt(int, int)GetNodeAt(Point)GetNodeByName(string, RadTreeNode)GetNodeByName(string)GetNodeByPath(string, string)GetNodeByPath(string)GetNodeCount(bool)IsInputKey(Keys)LoadXML(Stream, params Type[])LoadXML(string, params Type[])LoadXMLWithReader(XmlReader, params Type[])OnBindingContextChanged(EventArgs)OnClick(EventArgs)OnGotFocus(EventArgs)OnKeyDown(KeyEventArgs)OnKeyPress(KeyPressEventArgs)OnLoad(Size)OnLostFocus(EventArgs)OnMouseClick(MouseEventArgs)OnMouseDoubleClick(MouseEventArgs)OnMouseDown(MouseEventArgs)OnMouseEnter(EventArgs)OnMouseLeave(EventArgs)OnMouseMove(MouseEventArgs)OnMouseUp(MouseEventArgs)OnMouseWheel(MouseEventArgs)OnNotifyPropertyChanged(PropertyChangedEventArgs)OnThemeNameChanged(ThemeNameChangedEventArgs)ProcessCodedUIMessage(ref IPCMessage)SaveXML(Stream, params Type[])SaveXML(string, params Type[])SaveXMLWithWriter(TextWriter, params Type[])SelectAll()SetError(string, RadTreeNode)ToString()UnwireEvents()WireEvents()WndProc(ref Message)EventsContextMenuOpeningCreateNodeCreateNodeElementDataErrorDragEndedDragEndingDragOverNodeDragStartedDragStartingEditedEditingEditorInitializedEditorRequiredItemDragNodeAddedNodeAddingNodeCheckedChangedNodeCheckedChangingNodeDataBoundNodeExpandedChangedNodeExpandedChangingNodeFormattingNodeMouseClickNodeMouseDoubleClickNodeMouseDownNodeMouseEnterNodeMouseHoverNodeMouseLeaveNodeMouseMoveNodeMouseUpNodeRemovedNodeRemovingNodesNeededSelectedNodeChangedSelectedNodeChangingSelectedNodesChangedSelectedNodesClearedShowExpanderValidationErrorValueChangedValueChangingValueValidating
Not finding the help you need?
Contact Support