TreeView Class

Displays a hierarchical collection of labeled items, each represented by a TreeNode.

Namespace:  System.Windows.Forms
Assembly:  System.Windows.Forms (in System.Windows.Forms.dll)

[ComVisibleAttribute(true)]
[ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch)]
[DockingAttribute(DockingBehavior.Ask)]
public class TreeView : Control

The TreeView type exposes the following members.

  NameDescription
Public methodTreeViewInitializes a new instance of the TreeView class.
Top

  NameDescription
Public propertyAccessibilityObjectGets the AccessibleObject assigned to the control. (Inherited from Control.)
Public propertyAccessibleDefaultActionDescriptionGets or sets the default action description of the control for use by accessibility client applications. (Inherited from Control.)
Public propertyAccessibleDescriptionGets or sets the description of the control used by accessibility client applications. (Inherited from Control.)
Public propertyAccessibleNameGets or sets the name of the control used by accessibility client applications. (Inherited from Control.)
Public propertyAccessibleRoleGets or sets the accessible role of the control (Inherited from Control.)
Public propertyAllowDropGets or sets a value indicating whether the control can accept data that the user drags onto it. (Inherited from Control.)
Public propertyAnchorGets or sets the edges of the container to which a control is bound and determines how a control is resized with its parent. (Inherited from Control.)
Public propertyAutoScrollOffsetGets or sets where this control is scrolled to in ScrollControlIntoView. (Inherited from Control.)
Public propertyAutoSizeInfrastructure. This property is not relevant for this class. (Inherited from Control.)
Public propertyBackColorGets or sets the background color for the control. (Overrides Control.BackColor.)
Public propertyBackgroundImageInfrastructure. Gets or set the background image for the TreeView control. (Overrides Control.BackgroundImage.)
Public propertyBackgroundImageLayoutInfrastructure. Gets or sets the layout of the background image for the TreeView control. (Overrides Control.BackgroundImageLayout.)
Public propertyBindingContextGets or sets the BindingContext for the control. (Inherited from Control.)
Public propertyBorderStyleGets or sets the border style of the tree view control.
Public propertyBottomGets the distance, in pixels, between the bottom edge of the control and the top edge of its container's client area. (Inherited from Control.)
Public propertyBoundsGets or sets the size and location of the control including its nonclient elements, in pixels, relative to the parent control. (Inherited from Control.)
Protected propertyCanEnableImeGets a value indicating whether the ImeMode property can be set to an active value, to enable IME support. (Inherited from Control.)
Public propertyCanFocusGets a value indicating whether the control can receive focus. (Inherited from Control.)
Protected propertyCanRaiseEventsDetermines if events can be raised on the control. (Inherited from Control.)
Public propertyCanSelectGets a value indicating whether the control can be selected. (Inherited from Control.)
Public propertyCaptureGets or sets a value indicating whether the control has captured the mouse. (Inherited from Control.)
Public propertyCausesValidationGets or sets a value indicating whether the control causes validation to be performed on any controls that require validation when it receives focus. (Inherited from Control.)
Public propertyCheckBoxesGets or sets a value indicating whether check boxes are displayed next to the tree nodes in the tree view control.
Public propertyClientRectangleGets the rectangle that represents the client area of the control. (Inherited from Control.)
Public propertyClientSizeGets or sets the height and width of the client area of the control. (Inherited from Control.)
Public propertyCompanyNameGets the name of the company or creator of the application containing the control. (Inherited from Control.)
Public propertyContainerGets the IContainer that contains the Component. (Inherited from Component.)
Public propertyContainsFocusGets a value indicating whether the control, or one of its child controls, currently has the input focus. (Inherited from Control.)
Public propertyContextMenuGets or sets the shortcut menu associated with the control. (Inherited from Control.)
Public propertyContextMenuStripGets or sets the ContextMenuStrip associated with this control. (Inherited from Control.)
Public propertyControlsGets the collection of controls contained within the control. (Inherited from Control.)
Public propertyCreatedGets a value indicating whether the control has been created. (Inherited from Control.)
Protected propertyCreateParamsInfrastructure. Overrides CreateParams. (Overrides Control.CreateParams.)
Public propertyCursorGets or sets the cursor that is displayed when the mouse pointer is over the control. (Inherited from Control.)
Public propertyDataBindingsGets the data bindings for the control. (Inherited from Control.)
Protected propertyDefaultCursorGets or sets the default cursor for the control. (Inherited from Control.)
Protected propertyDefaultImeModeGets the default Input Method Editor (IME) mode supported by the control. (Inherited from Control.)
Protected propertyDefaultMarginGets the space, in pixels, that is specified by default between controls. (Inherited from Control.)
Protected propertyDefaultMaximumSizeGets the length and height, in pixels, that is specified as the default maximum size of a control. (Inherited from Control.)
Protected propertyDefaultMinimumSizeGets the length and height, in pixels, that is specified as the default minimum size of a control. (Inherited from Control.)
Protected propertyDefaultPaddingGets the internal spacing, in pixels, of the contents of a control. (Inherited from Control.)
Protected propertyDefaultSizeGets the default size of the control. (Overrides Control.DefaultSize.)
Protected propertyDesignModeGets a value that indicates whether the Component is currently in design mode. (Inherited from Component.)
Public propertyDisplayRectangleGets the rectangle that represents the display area of the control. (Inherited from Control.)
Public propertyDisposingGets a value indicating whether the base Control class is in the process of disposing. (Inherited from Control.)
Public propertyDockGets or sets which control borders are docked to its parent control and determines how a control is resized with its parent. (Inherited from Control.)
Protected propertyDoubleBufferedGets or sets a value indicating whether the control should redraw its surface using a secondary buffer. The DoubleBuffered property does not affect the TreeView control. (Overrides Control.DoubleBuffered.)
Public propertyDrawModeGets or sets the mode in which the control is drawn.
Public propertyEnabledGets or sets a value indicating whether the control can respond to user interaction. (Inherited from Control.)
Protected propertyEventsGets the list of event handlers that are attached to this Component. (Inherited from Component.)
Public propertyFocusedGets a value indicating whether the control has input focus. (Inherited from Control.)
Public propertyFontGets or sets the font of the text displayed by the control. (Inherited from Control.)
Protected propertyFontHeightGets or sets the height of the font of the control. (Inherited from Control.)
Public propertyForeColorThe current foreground color for this control, which is the color the control uses to draw its text. (Overrides Control.ForeColor.)
Public propertyFullRowSelectGets or sets a value indicating whether the selection highlight spans the width of the tree view control.
Public propertyHandleGets the window handle that the control is bound to. (Inherited from Control.)
Public propertyHasChildrenGets a value indicating whether the control contains one or more child controls. (Inherited from Control.)
Public propertyHeightGets or sets the height of the control. (Inherited from Control.)
Public propertyHideSelectionGets or sets a value indicating whether the selected tree node remains highlighted even when the tree view has lost the focus.
Public propertyHotTrackingGets or sets a value indicating whether a tree node label takes on the appearance of a hyperlink as the mouse pointer passes over it.
Public propertyImageIndexGets or sets the image-list index value of the default image that is displayed by the tree nodes.
Public propertyImageKeyGets or sets the key of the default image for each node in the TreeView control when it is in an unselected state.
Public propertyImageListGets or sets the ImageList that contains the Image objects that are used by the tree nodes.
Public propertyImeModeGets or sets the Input Method Editor (IME) mode of the control. (Inherited from Control.)
Protected propertyImeModeBaseGets or sets the IME mode of a control. (Inherited from Control.)
Public propertyIndentGets or sets the distance to indent each child tree node level.
Public propertyInvokeRequiredGets a value indicating whether the caller must call an invoke method when making method calls to the control because the caller is on a different thread than the one the control was created on. (Inherited from Control.)
Public propertyIsAccessibleGets or sets a value indicating whether the control is visible to accessibility applications. (Inherited from Control.)
Public propertyIsDisposedGets a value indicating whether the control has been disposed of. (Inherited from Control.)
Public propertyIsHandleCreatedGets a value indicating whether the control has a handle associated with it. (Inherited from Control.)
Public propertyIsMirroredGets a value indicating whether the control is mirrored. (Inherited from Control.)
Public propertyItemHeightGets or sets the height of each tree node in the tree view control.
Public propertyLabelEditGets or sets a value indicating whether the label text of the tree nodes can be edited.
Public propertyLayoutEngineGets a cached instance of the control's layout engine. (Inherited from Control.)
Public propertyLeftGets or sets the distance, in pixels, between the left edge of the control and the left edge of its container's client area. (Inherited from Control.)
Public propertyLineColorGets or sets the color of the lines connecting the nodes of the TreeView control.
Public propertyLocationGets or sets the coordinates of the upper-left corner of the control relative to the upper-left corner of its container. (Inherited from Control.)
Public propertyMarginGets or sets the space between controls. (Inherited from Control.)
Public propertyMaximumSizeGets or sets the size that is the upper limit that GetPreferredSize can specify. (Inherited from Control.)
Public propertyMinimumSizeGets or sets the size that is the lower limit that GetPreferredSize can specify. (Inherited from Control.)
Public propertyNameGets or sets the name of the control. (Inherited from Control.)
Public propertyNodesGets the collection of tree nodes that are assigned to the tree view control.
Public propertyPaddingInfrastructure. Gets or sets the spacing between the TreeView control's contents and its edges.
Public propertyParentGets or sets the parent container of the control. (Inherited from Control.)
Public propertyPathSeparatorGets or sets the delimiter string that the tree node path uses.
Public propertyPreferredSizeGets the size of a rectangular area into which the control can fit. (Inherited from Control.)
Public propertyProductNameGets the product name of the assembly containing the control. (Inherited from Control.)
Public propertyProductVersionGets the version of the assembly containing the control. (Inherited from Control.)
Public propertyRecreatingHandleGets a value indicating whether the control is currently re-creating its handle. (Inherited from Control.)
Public propertyRegionGets or sets the window region associated with the control. (Inherited from Control.)
Protected propertyRenderRightToLeft Obsolete. This property is now obsolete. (Inherited from Control.)
Protected propertyResizeRedrawGets or sets a value indicating whether the control redraws itself when resized. (Inherited from Control.)
Public propertyRightGets the distance, in pixels, between the right edge of the control and the left edge of its container's client area. (Inherited from Control.)
Public propertyRightToLeftGets or sets a value indicating whether control's elements are aligned to support locales using right-to-left fonts. (Inherited from Control.)
Public propertyRightToLeftLayoutGets or sets a value that indicates whether the TreeView should be laid out from right-to-left.
Protected propertyScaleChildrenGets a value that determines the scaling of child controls. (Inherited from Control.)
Public propertyScrollableGets or sets a value indicating whether the tree view control displays scroll bars when they are needed.
Public propertySelectedImageIndexGets or sets the image list index value of the image that is displayed when a tree node is selected.
Public propertySelectedImageKeyGets or sets the key of the default image shown when a TreeNode is in a selected state.
Public propertySelectedNodeGets or sets the tree node that is currently selected in the tree view control.
Protected propertyShowFocusCuesGets a value indicating whether the control should display focus rectangles. (Inherited from Control.)
Protected propertyShowKeyboardCuesGets a value indicating whether the user interface is in the appropriate state to show or hide keyboard accelerators. (Inherited from Control.)
Public propertyShowLinesGets or sets a value indicating whether lines are drawn between tree nodes in the tree view control.
Public propertyShowNodeToolTipsGets or sets a value indicating ToolTips are shown when the mouse pointer hovers over a TreeNode.
Public propertyShowPlusMinusGets or sets a value indicating whether plus-sign (+) and minus-sign (-) buttons are displayed next to tree nodes that contain child tree nodes.
Public propertyShowRootLinesGets or sets a value indicating whether lines are drawn between the tree nodes that are at the root of the tree view.
Public propertySiteGets or sets the site of the control. (Inherited from Control.)
Public propertySizeGets or sets the height and width of the control. (Inherited from Control.)
Public propertySortedGets or sets a value indicating whether the tree nodes in the tree view are sorted.
Public propertyStateImageListGets or sets the image list that is used to indicate the state of the TreeView and its nodes.
Public propertyTabIndexGets or sets the tab order of the control within its container. (Inherited from Control.)
Public propertyTabStopGets or sets a value indicating whether the user can give the focus to this control using the TAB key. (Inherited from Control.)
Public propertyTagGets or sets the object that contains data about the control. (Inherited from Control.)
Public propertyTextInfrastructure. Gets or sets the text of the TreeView. (Overrides Control.Text.)
Public propertyTopGets or sets the distance, in pixels, between the top edge of the control and the top edge of its container's client area. (Inherited from Control.)
Public propertyTopLevelControlGets the parent control that is not parented by another Windows Forms control. Typically, this is the outermost Form that the control is contained in. (Inherited from Control.)
Public propertyTopNodeGets or sets the first fully-visible tree node in the tree view control.
Public propertyTreeViewNodeSorterGets or sets the implementation of IComparer to perform a custom sort of the TreeView nodes.
Public propertyUseWaitCursorGets or sets a value indicating whether to use the wait cursor for the current control and all child controls. (Inherited from Control.)
Public propertyVisibleGets or sets a value indicating whether the control and all its child controls are displayed. (Inherited from Control.)
Public propertyVisibleCountGets the number of tree nodes that can be fully visible in the tree view control.
Public propertyWidthGets or sets the width of the control. (Inherited from Control.)
Public propertyWindowTargetInfrastructure. This property is not relevant for this class. (Inherited from Control.)
Top

  NameDescription
Protected methodAccessibilityNotifyClients(AccessibleEvents, Int32)Notifies the accessibility client applications of the specified AccessibleEvents for the specified child control. (Inherited from Control.)
Protected methodAccessibilityNotifyClients(AccessibleEvents, Int32, Int32)Notifies the accessibility client applications of the specified AccessibleEvents for the specified child control . (Inherited from Control.)
Public methodBeginInvoke(Delegate)Executes the specified delegate asynchronously on the thread that the control's underlying handle was created on. (Inherited from Control.)
Public methodBeginInvoke(Delegate, Object[])Executes the specified delegate asynchronously with the specified arguments, on the thread that the control's underlying handle was created on. (Inherited from Control.)
Public methodBeginUpdateDisables any redrawing of the tree view.
Public methodBringToFrontBrings the control to the front of the z-order. (Inherited from Control.)
Public methodCollapseAllCollapses all the tree nodes.
Public methodContainsRetrieves a value indicating whether the specified control is a child of the control. (Inherited from Control.)
Protected methodCreateAccessibilityInstanceCreates a new accessibility object for the control. (Inherited from Control.)
Public methodCreateControlForces the creation of the visible control, including the creation of the handle and any visible child controls. (Inherited from Control.)
Protected methodCreateControlsInstanceCreates a new instance of the control collection for the control. (Inherited from Control.)
Public methodCreateGraphicsCreates the Graphics for the control. (Inherited from Control.)
Protected methodCreateHandleInfrastructure. Creates a handle for the control. (Overrides Control.CreateHandle().)
Public methodCreateObjRefCreates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object. (Inherited from MarshalByRefObject.)
Protected methodDefWndProcSends the specified message to the default window procedure. (Inherited from Control.)
Protected methodDestroyHandleDestroys the handle associated with the control. (Inherited from Control.)
Public methodDispose()Releases all resources used by the Component. (Inherited from Component.)
Protected methodDispose(Boolean)Releases the unmanaged resources used by the TreeView and optionally releases the managed resources. (Overrides Control.Dispose(Boolean).)
Public methodDoDragDropBegins a drag-and-drop operation. (Inherited from Control.)
Public methodDrawToBitmapSupports rendering to the specified bitmap. (Inherited from Control.)
Public methodEndInvokeRetrieves the return value of the asynchronous operation represented by the IAsyncResult passed. (Inherited from Control.)
Public methodEndUpdateEnables the redrawing of the tree view.
Public methodEquals(Object)Determines whether the specified object is equal to the current object. (Inherited from Object.)
Public methodExpandAllExpands all the tree nodes.
Protected methodFinalizeReleases unmanaged resources and performs other cleanup operations before the Component is reclaimed by garbage collection. (Inherited from Component.)
Public methodFindFormRetrieves the form that the control is on. (Inherited from Control.)
Public methodFocusSets input focus to the control. (Inherited from Control.)
Protected methodGetAccessibilityObjectByIdRetrieves the specified AccessibleObject. (Inherited from Control.)
Protected methodGetAutoSizeModeRetrieves a value indicating how a control will behave when its AutoSize property is enabled. (Inherited from Control.)
Public methodGetChildAtPoint(Point)Retrieves the child control that is located at the specified coordinates. (Inherited from Control.)
Public methodGetChildAtPoint(Point, GetChildAtPointSkip)Retrieves the child control that is located at the specified coordinates, specifying whether to ignore child controls of a certain type. (Inherited from Control.)
Public methodGetContainerControlReturns the next ContainerControl up the control's chain of parent controls. (Inherited from Control.)
Public methodGetHashCodeServes as the default hash function. (Inherited from Object.)
Protected methodGetItemRenderStylesInfrastructure. Returns an OwnerDrawPropertyBag for the specified TreeNode.
Public methodGetLifetimeServiceRetrieves the current lifetime service object that controls the lifetime policy for this instance. (Inherited from MarshalByRefObject.)
Public methodGetNextControlRetrieves the next control forward or back in the tab order of child controls. (Inherited from Control.)
Public methodGetNodeAt(Point)Retrieves the tree node that is at the specified point.
Public methodGetNodeAt(Int32, Int32)Retrieves the tree node at the point with the specified coordinates.
Public methodGetNodeCountRetrieves the number of tree nodes, optionally including those in all subtrees, assigned to the tree view control.
Public methodGetPreferredSizeRetrieves the size of a rectangular area into which a control can be fitted. (Inherited from Control.)
Protected methodGetScaledBoundsRetrieves the bounds within which the control is scaled. (Inherited from Control.)
Protected methodGetServiceReturns an object that represents a service provided by the Component or by its Container. (Inherited from Component.)
Protected methodGetStyleRetrieves the value of the specified control style bit for the control. (Inherited from Control.)
Protected methodGetTopLevelDetermines if the control is a top-level control. (Inherited from Control.)
Public methodGetTypeGets the Type of the current instance. (Inherited from Object.)
Public methodHideConceals the control from the user. (Inherited from Control.)
Public methodHitTest(Point)Provides node information, given a point.
Public methodHitTest(Int32, Int32)Provides node information, given x- and y-coordinates.
Public methodInitializeLifetimeServiceObtains a lifetime service object to control the lifetime policy for this instance. (Inherited from MarshalByRefObject.)
Protected methodInitLayoutCalled after the control has been added to another container. (Inherited from Control.)
Public methodInvalidate()Invalidates the entire surface of the control and causes the control to be redrawn. (Inherited from Control.)
Public methodInvalidate(Boolean)Invalidates a specific region of the control and causes a paint message to be sent to the control. Optionally, invalidates the child controls assigned to the control. (Inherited from Control.)
Public methodInvalidate(Rectangle)Invalidates the specified region of the control (adds it to the control's update region, which is the area that will be repainted at the next paint operation), and causes a paint message to be sent to the control. (Inherited from Control.)
Public methodInvalidate(Region)Invalidates the specified region of the control (adds it to the control's update region, which is the area that will be repainted at the next paint operation), and causes a paint message to be sent to the control. (Inherited from Control.)
Public methodInvalidate(Rectangle, Boolean)Invalidates the specified region of the control (adds it to the control's update region, which is the area that will be repainted at the next paint operation), and causes a paint message to be sent to the control. Optionally, invalidates the child controls assigned to the control. (Inherited from Control.)
Public methodInvalidate(Region, Boolean)Invalidates the specified region of the control (adds it to the control's update region, which is the area that will be repainted at the next paint operation), and causes a paint message to be sent to the control. Optionally, invalidates the child controls assigned to the control. (Inherited from Control.)
Public methodInvoke(Delegate)Executes the specified delegate on the thread that owns the control's underlying window handle. (Inherited from Control.)
Public methodInvoke(Delegate, Object[])Executes the specified delegate, on the thread that owns the control's underlying window handle, with the specified list of arguments. (Inherited from Control.)
Protected methodInvokeGotFocusRaises the GotFocus event for the specified control. (Inherited from Control.)
Protected methodInvokeLostFocusRaises the LostFocus event for the specified control. (Inherited from Control.)
Protected methodInvokeOnClickRaises the Click event for the specified control. (Inherited from Control.)
Protected methodInvokePaintRaises the Paint event for the specified control. (Inherited from Control.)
Protected methodInvokePaintBackgroundRaises the PaintBackground event for the specified control. (Inherited from Control.)
Protected methodIsInputCharDetermines if a character is an input character that the control recognizes. (Inherited from Control.)
Protected methodIsInputKeyInfrastructure. Determines whether the specified key is a regular input key or a special key that requires preprocessing. (Overrides Control.IsInputKey(Keys).)
Protected methodMemberwiseClone()Creates a shallow copy of the current Object. (Inherited from Object.)
Protected methodMemberwiseClone(Boolean)Creates a shallow copy of the current MarshalByRefObject object. (Inherited from MarshalByRefObject.)
Protected methodNotifyInvalidateInfrastructure. Raises the Invalidated event with a specified region of the control to invalidate. (Inherited from Control.)
Protected methodOnAfterCheckRaises the AfterCheck event.
Protected methodOnAfterCollapseRaises the AfterCollapse event.
Protected methodOnAfterExpandRaises the AfterExpand event.
Protected methodOnAfterLabelEditRaises the AfterLabelEdit event.
Protected methodOnAfterSelectRaises the AfterSelect event.
Protected methodOnAutoSizeChangedRaises the AutoSizeChanged event. (Inherited from Control.)
Protected methodOnBackColorChangedRaises the BackColorChanged event. (Inherited from Control.)
Protected methodOnBackgroundImageChangedRaises the BackgroundImageChanged event. (Inherited from Control.)
Protected methodOnBackgroundImageLayoutChangedRaises the BackgroundImageLayoutChanged event. (Inherited from Control.)
Protected methodOnBeforeCheckRaises the BeforeCheck event.
Protected methodOnBeforeCollapseRaises the BeforeCollapse event.
Protected methodOnBeforeExpandRaises the BeforeExpand event.
Protected methodOnBeforeLabelEditRaises the BeforeLabelEdit event.
Protected methodOnBeforeSelectRaises the BeforeSelect event.
Protected methodOnBindingContextChangedRaises the BindingContextChanged event. (Inherited from Control.)
Protected methodOnCausesValidationChangedRaises the CausesValidationChanged event. (Inherited from Control.)
Protected methodOnChangeUICuesRaises the ChangeUICues event. (Inherited from Control.)
Protected methodOnClickRaises the Click event. (Inherited from Control.)
Protected methodOnClientSizeChangedRaises the ClientSizeChanged event. (Inherited from Control.)
Protected methodOnContextMenuChangedRaises the ContextMenuChanged event. (Inherited from Control.)
Protected methodOnContextMenuStripChangedRaises the ContextMenuStripChanged event. (Inherited from Control.)
Protected methodOnControlAddedRaises the ControlAdded event. (Inherited from Control.)
Protected methodOnControlRemovedRaises the ControlRemoved event. (Inherited from Control.)
Protected methodOnCreateControlRaises the CreateControl method. (Inherited from Control.)
Protected methodOnCursorChangedRaises the CursorChanged event. (Inherited from Control.)
Protected methodOnDockChangedRaises the DockChanged event. (Inherited from Control.)
Protected methodOnDoubleClickRaises the DoubleClick event. (Inherited from Control.)
Protected methodOnDragDropRaises the DragDrop event. (Inherited from Control.)
Protected methodOnDragEnterRaises the DragEnter event. (Inherited from Control.)
Protected methodOnDragLeaveRaises the DragLeave event. (Inherited from Control.)
Protected methodOnDragOverRaises the DragOver event. (Inherited from Control.)
Protected methodOnDrawNodeRaises the DrawNode event.
Protected methodOnEnabledChangedRaises the EnabledChanged event. (Inherited from Control.)
Protected methodOnEnterRaises the Enter event. (Inherited from Control.)
Protected methodOnFontChangedRaises the FontChanged event. (Inherited from Control.)
Protected methodOnForeColorChangedRaises the ForeColorChanged event. (Inherited from Control.)
Protected methodOnGiveFeedbackRaises the GiveFeedback event. (Inherited from Control.)
Protected methodOnGotFocusRaises the GotFocus event. (Inherited from Control.)
Protected methodOnHandleCreatedOverrides OnHandleCreated. (Overrides Control.OnHandleCreated(EventArgs).)
Protected methodOnHandleDestroyedOverrides OnHandleDestroyed. (Overrides Control.OnHandleDestroyed(EventArgs).)
Protected methodOnHelpRequestedRaises the HelpRequested event. (Inherited from Control.)
Protected methodOnImeModeChangedRaises the ImeModeChanged event. (Inherited from Control.)
Protected methodOnInvalidatedRaises the Invalidated event. (Inherited from Control.)
Protected methodOnItemDragRaises the ItemDrag event.
Protected methodOnKeyDownInfrastructure. Raises the KeyDown event. (Overrides Control.OnKeyDown(KeyEventArgs).)
Protected methodOnKeyPressInfrastructure. Raises the KeyPress event. (Overrides Control.OnKeyPress(KeyPressEventArgs).)
Protected methodOnKeyUpOverrides OnKeyUp. (Overrides Control.OnKeyUp(KeyEventArgs).)
Protected methodOnLayoutRaises the Layout event. (Inherited from Control.)
Protected methodOnLeaveRaises the Leave event. (Inherited from Control.)
Protected methodOnLocationChangedRaises the LocationChanged event. (Inherited from Control.)
Protected methodOnLostFocusRaises the LostFocus event. (Inherited from Control.)
Protected methodOnMarginChangedRaises the MarginChanged event. (Inherited from Control.)
Protected methodOnMouseCaptureChangedRaises the MouseCaptureChanged event. (Inherited from Control.)
Protected methodOnMouseClickRaises the MouseClick event. (Inherited from Control.)
Protected methodOnMouseDoubleClickRaises the MouseDoubleClick event. (Inherited from Control.)
Protected methodOnMouseDownRaises the MouseDown event. (Inherited from Control.)
Protected methodOnMouseEnterRaises the MouseEnter event. (Inherited from Control.)
Protected methodOnMouseHoverRaises the MouseHover event. (Overrides Control.OnMouseHover(EventArgs).)
Protected methodOnMouseLeaveRaises the MouseLeave event. (Overrides Control.OnMouseLeave(EventArgs).)
Protected methodOnMouseMoveRaises the MouseMove event. (Inherited from Control.)
Protected methodOnMouseUpRaises the MouseUp event. (Inherited from Control.)
Protected methodOnMouseWheelRaises the MouseWheel event. (Inherited from Control.)
Protected methodOnMoveRaises the Move event. (Inherited from Control.)
Protected methodOnNodeMouseClickRaises the NodeMouseClick event.
Protected methodOnNodeMouseDoubleClickRaises the NodeMouseDoubleClick event.
Protected methodOnNodeMouseHoverRaises the NodeMouseHover event.
Protected methodOnNotifyMessageNotifies the control of Windows messages. (Inherited from Control.)
Protected methodOnPaddingChangedRaises the PaddingChanged event. (Inherited from Control.)
Protected methodOnPaintRaises the Paint event. (Inherited from Control.)
Protected methodOnPaintBackgroundPaints the background of the control. (Inherited from Control.)
Protected methodOnParentBackColorChangedRaises the BackColorChanged event when the BackColor property value of the control's container changes. (Inherited from Control.)
Protected methodOnParentBackgroundImageChangedRaises the BackgroundImageChanged event when the BackgroundImage property value of the control's container changes. (Inherited from Control.)
Protected methodOnParentBindingContextChangedRaises the BindingContextChanged event when the BindingContext property value of the control's container changes. (Inherited from Control.)
Protected methodOnParentChangedRaises the ParentChanged event. (Inherited from Control.)
Protected methodOnParentCursorChangedRaises the CursorChanged event. (Inherited from Control.)
Protected methodOnParentEnabledChangedRaises the EnabledChanged event when the Enabled property value of the control's container changes. (Inherited from Control.)
Protected methodOnParentFontChangedRaises the FontChanged event when the Font property value of the control's container changes. (Inherited from Control.)
Protected methodOnParentForeColorChangedRaises the ForeColorChanged event when the ForeColor property value of the control's container changes. (Inherited from Control.)
Protected methodOnParentRightToLeftChangedRaises the RightToLeftChanged event when the RightToLeft property value of the control's container changes. (Inherited from Control.)
Protected methodOnParentVisibleChangedRaises the VisibleChanged event when the Visible property value of the control's container changes. (Inherited from Control.)
Protected methodOnPreviewKeyDownRaises the PreviewKeyDown event. (Inherited from Control.)
Protected methodOnPrintRaises the Paint event. (Inherited from Control.)
Protected methodOnQueryContinueDragRaises the QueryContinueDrag event. (Inherited from Control.)
Protected methodOnRegionChangedRaises the RegionChanged event. (Inherited from Control.)
Protected methodOnResizeRaises the Resize event. (Inherited from Control.)
Protected methodOnRightToLeftChangedRaises the RightToLeftChanged event. (Inherited from Control.)
Protected methodOnRightToLeftLayoutChangedRaises the RightToLeftLayoutChanged event.
Protected methodOnSizeChangedRaises the SizeChanged event. (Inherited from Control.)
Protected methodOnStyleChangedRaises the StyleChanged event. (Inherited from Control.)
Protected methodOnSystemColorsChangedRaises the SystemColorsChanged event. (Inherited from Control.)
Protected methodOnTabIndexChangedRaises the TabIndexChanged event. (Inherited from Control.)
Protected methodOnTabStopChangedRaises the TabStopChanged event. (Inherited from Control.)
Protected methodOnTextChangedRaises the TextChanged event. (Inherited from Control.)
Protected methodOnValidatedRaises the Validated event. (Inherited from Control.)
Protected methodOnValidatingRaises the Validating event. (Inherited from Control.)
Protected methodOnVisibleChangedRaises the VisibleChanged event. (Inherited from Control.)
Public methodPerformLayout()Forces the control to apply layout logic to all its child controls. (Inherited from Control.)
Public methodPerformLayout(Control, String)Forces the control to apply layout logic to all its child controls. (Inherited from Control.)
Public methodPointToClientComputes the location of the specified screen point into client coordinates. (Inherited from Control.)
Public methodPointToScreenComputes the location of the specified client point into screen coordinates. (Inherited from Control.)
Public methodPreProcessControlMessagePreprocesses keyboard or input messages within the message loop before they are dispatched. (Inherited from Control.)
Public methodPreProcessMessagePreprocesses keyboard or input messages within the message loop before they are dispatched. (Inherited from Control.)
Protected methodProcessCmdKeyProcesses a command key. (Inherited from Control.)
Protected methodProcessDialogCharProcesses a dialog character. (Inherited from Control.)
Protected methodProcessDialogKeyProcesses a dialog key. (Inherited from Control.)
Protected methodProcessKeyEventArgsProcesses a key message and generates the appropriate control events. (Inherited from Control.)
Protected methodProcessKeyMessageProcesses a keyboard message. (Inherited from Control.)
Protected methodProcessKeyPreviewPreviews a keyboard message. (Inherited from Control.)
Protected methodProcessMnemonicProcesses a mnemonic character. (Inherited from Control.)
Protected methodRaiseDragEventInfrastructure. Raises the appropriate drag event. (Inherited from Control.)
Protected methodRaiseKeyEventInfrastructure. Raises the appropriate key event. (Inherited from Control.)
Protected methodRaiseMouseEventInfrastructure. Raises the appropriate mouse event. (Inherited from Control.)
Protected methodRaisePaintEventInfrastructure. Raises the appropriate paint event. (Inherited from Control.)
Protected methodRecreateHandleForces the re-creation of the handle for the control. (Inherited from Control.)
Public methodRectangleToClientComputes the size and location of the specified screen rectangle in client coordinates. (Inherited from Control.)
Public methodRectangleToScreenComputes the size and location of the specified client rectangle in screen coordinates. (Inherited from Control.)
Public methodRefreshForces the control to invalidate its client area and immediately redraw itself and any child controls. (Inherited from Control.)
Public methodResetBackColorResets the BackColor property to its default value. (Inherited from Control.)
Public methodResetBindingsCauses a control bound to the BindingSource to reread all the items in the list and refresh their displayed values. (Inherited from Control.)
Public methodResetCursorResets the Cursor property to its default value. (Inherited from Control.)
Public methodResetFontResets the Font property to its default value. (Inherited from Control.)
Public methodResetForeColorResets the ForeColor property to its default value. (Inherited from Control.)
Public methodResetImeModeResets the ImeMode property to its default value. (Inherited from Control.)
Protected methodResetMouseEventArgsInfrastructure. Resets the control to handle the MouseLeave event. (Inherited from Control.)
Public methodResetRightToLeftResets the RightToLeft property to its default value. (Inherited from Control.)
Public methodResetTextResets the Text property to its default value. (Inherited from Control.)
Public methodResumeLayout()Resumes usual layout logic. (Inherited from Control.)
Public methodResumeLayout(Boolean)Resumes usual layout logic, optionally forcing an immediate layout of pending layout requests. (Inherited from Control.)
Protected methodRtlTranslateAlignment(ContentAlignment)Converts the specified ContentAlignment to the appropriate ContentAlignment to support right-to-left text. (Inherited from Control.)
Protected methodRtlTranslateAlignment(HorizontalAlignment)Converts the specified HorizontalAlignment to the appropriate HorizontalAlignment to support right-to-left text. (Inherited from Control.)
Protected methodRtlTranslateAlignment(LeftRightAlignment)Converts the specified LeftRightAlignment to the appropriate LeftRightAlignment to support right-to-left text. (Inherited from Control.)
Protected methodRtlTranslateContentConverts the specified ContentAlignment to the appropriate ContentAlignment to support right-to-left text. (Inherited from Control.)
Protected methodRtlTranslateHorizontalConverts the specified HorizontalAlignment to the appropriate HorizontalAlignment to support right-to-left text. (Inherited from Control.)
Protected methodRtlTranslateLeftRightConverts the specified LeftRightAlignment to the appropriate LeftRightAlignment to support right-to-left text. (Inherited from Control.)
Public methodScale(Single) Obsolete. Scales the control and any child controls. (Inherited from Control.)
Public methodScale(SizeF)Scales the control and all child controls by the specified scaling factor. (Inherited from Control.)
Public methodScale(Single, Single) Obsolete. Scales the entire control and any child controls. (Inherited from Control.)
Protected methodScaleControlScales a control's location, size, padding and margin. (Inherited from Control.)
Protected methodScaleCoreInfrastructure. This method is not relevant for this class. (Inherited from Control.)
Public methodSelect()Activates the control. (Inherited from Control.)
Protected methodSelect(Boolean, Boolean)Activates a child control. Optionally specifies the direction in the tab order to select the control from. (Inherited from Control.)
Public methodSelectNextControlActivates the next control. (Inherited from Control.)
Public methodSendToBackSends the control to the back of the z-order. (Inherited from Control.)
Protected methodSetAutoSizeModeSets a value indicating how a control will behave when its AutoSize property is enabled. (Inherited from Control.)
Public methodSetBounds(Int32, Int32, Int32, Int32)Sets the bounds of the control to the specified location and size. (Inherited from Control.)
Public methodSetBounds(Int32, Int32, Int32, Int32, BoundsSpecified)Sets the specified bounds of the control to the specified location and size. (Inherited from Control.)
Protected methodSetBoundsCorePerforms the work of setting the specified bounds of this control. (Inherited from Control.)
Protected methodSetClientSizeCoreSets the size of the client area of the control. (Inherited from Control.)
Protected methodSetStyleSets a specified ControlStyles flag to either true or false. (Inherited from Control.)
Protected methodSetTopLevelSets the control as the top-level control. (Inherited from Control.)
Protected methodSetVisibleCoreSets the control to the specified visible state. (Inherited from Control.)
Public methodShowDisplays the control to the user. (Inherited from Control.)
Protected methodSizeFromClientSizeDetermines the size of the entire control from the height and width of its client area. (Inherited from Control.)
Public methodSortSorts the items in TreeView control.
Public methodSuspendLayoutTemporarily suspends the layout logic for the control. (Inherited from Control.)
Public methodToStringInfrastructure. Overrides ToString. (Overrides Component.ToString().)
Public methodUpdateCauses the control to redraw the invalidated regions within its client area. (Inherited from Control.)
Protected methodUpdateBounds()Updates the bounds of the control with the current size and location. (Inherited from Control.)
Protected methodUpdateBounds(Int32, Int32, Int32, Int32)Updates the bounds of the control with the specified size and location. (Inherited from Control.)
Protected methodUpdateBounds(Int32, Int32, Int32, Int32, Int32, Int32)Updates the bounds of the control with the specified size, location, and client size. (Inherited from Control.)
Protected methodUpdateStylesForces the assigned styles to be reapplied to the control. (Inherited from Control.)
Protected methodUpdateZOrderUpdates the control in its parent's z-order. (Inherited from Control.)
Protected methodWndProcOverrides WndProc. (Overrides Control.WndProc(Message).)
Top

  NameDescription
Public eventAfterCheckOccurs after the tree node check box is checked.
Public eventAfterCollapseOccurs after the tree node is collapsed.
Public eventAfterExpandOccurs after the tree node is expanded.
Public eventAfterLabelEditOccurs after the tree node label text is edited.
Public eventAfterSelectOccurs after the tree node is selected.
Public eventAutoSizeChangedInfrastructure. This event is not relevant for this class. (Inherited from Control.)
Public eventBackColorChangedOccurs when the value of the BackColor property changes. (Inherited from Control.)
Public eventBackgroundImageChangedInfrastructure. Occurs when the BackgroundImage property changes.
Public eventBackgroundImageLayoutChangedInfrastructure. Occurs when the BackgroundImageLayout property changes.
Public eventBeforeCheckOccurs before the tree node check box is checked.
Public eventBeforeCollapseOccurs before the tree node is collapsed.
Public eventBeforeExpandOccurs before the tree node is expanded.
Public eventBeforeLabelEditOccurs before the tree node label text is edited.
Public eventBeforeSelectOccurs before the tree node is selected.
Public eventBindingContextChangedOccurs when the value of the BindingContext property changes. (Inherited from Control.)
Public eventCausesValidationChangedOccurs when the value of the CausesValidation property changes. (Inherited from Control.)
Public eventChangeUICuesOccurs when the focus or keyboard user interface (UI) cues change. (Inherited from Control.)
Public eventClickOccurs when the control is clicked. (Inherited from Control.)
Public eventClientSizeChangedOccurs when the value of the ClientSize property changes. (Inherited from Control.)
Public eventContextMenuChangedOccurs when the value of the ContextMenu property changes. (Inherited from Control.)
Public eventContextMenuStripChangedOccurs when the value of the ContextMenuStrip property changes. (Inherited from Control.)
Public eventControlAddedOccurs when a new control is added to the Control.ControlCollection. (Inherited from Control.)
Public eventControlRemovedOccurs when a control is removed from the Control.ControlCollection. (Inherited from Control.)
Public eventCursorChangedOccurs when the value of the Cursor property changes. (Inherited from Control.)
Public eventDisposedOccurs when the component is disposed by a call to the Dispose method. (Inherited from Component.)
Public eventDockChangedOccurs when the value of the Dock property changes. (Inherited from Control.)
Public eventDoubleClickOccurs when the control is double-clicked. (Inherited from Control.)
Public eventDragDropOccurs when a drag-and-drop operation is completed. (Inherited from Control.)
Public eventDragEnterOccurs when an object is dragged into the control's bounds. (Inherited from Control.)
Public eventDragLeaveOccurs when an object is dragged out of the control's bounds. (Inherited from Control.)
Public eventDragOverOccurs when an object is dragged over the control's bounds. (Inherited from Control.)
Public eventDrawNodeOccurs when a TreeView is drawn and the DrawMode property is set to a TreeViewDrawMode value other than Normal.
Public eventEnabledChangedOccurs when the Enabled property value has changed. (Inherited from Control.)
Public eventEnterOccurs when the control is entered. (Inherited from Control.)
Public eventFontChangedOccurs when the Font property value changes. (Inherited from Control.)
Public eventForeColorChangedOccurs when the ForeColor property value changes. (Inherited from Control.)
Public eventGiveFeedbackOccurs during a drag operation. (Inherited from Control.)
Public eventGotFocusOccurs when the control receives focus. (Inherited from Control.)
Public eventHandleCreatedOccurs when a handle is created for the control. (Inherited from Control.)
Public eventHandleDestroyedOccurs when the control's handle is in the process of being destroyed. (Inherited from Control.)
Public eventHelpRequestedOccurs when the user requests help for a control. (Inherited from Control.)
Public eventImeModeChangedOccurs when the ImeMode property has changed. (Inherited from Control.)
Public eventInvalidatedOccurs when a control's display requires redrawing. (Inherited from Control.)
Public eventItemDragOccurs when the user begins dragging a node.
Public eventKeyDownOccurs when a key is pressed while the control has focus. (Inherited from Control.)
Public eventKeyPressOccurs when a key is pressed while the control has focus. (Inherited from Control.)
Public eventKeyUpOccurs when a key is released while the control has focus. (Inherited from Control.)
Public eventLayoutOccurs when a control should reposition its child controls. (Inherited from Control.)
Public eventLeaveOccurs when the input focus leaves the control. (Inherited from Control.)
Public eventLocationChangedOccurs when the Location property value has changed. (Inherited from Control.)
Public eventLostFocusOccurs when the control loses focus. (Inherited from Control.)
Public eventMarginChangedOccurs when the control's margin changes. (Inherited from Control.)
Public eventMouseCaptureChangedOccurs when the control loses mouse capture. (Inherited from Control.)
Public eventMouseClickOccurs when the control is clicked by the mouse. (Inherited from Control.)
Public eventMouseDoubleClickOccurs when the control is double clicked by the mouse. (Inherited from Control.)
Public eventMouseDownOccurs when the mouse pointer is over the control and a mouse button is pressed. (Inherited from Control.)
Public eventMouseEnterOccurs when the mouse pointer enters the control. (Inherited from Control.)
Public eventMouseHoverOccurs when the mouse pointer rests on the control. (Inherited from Control.)
Public eventMouseLeaveOccurs when the mouse pointer leaves the control. (Inherited from Control.)
Public eventMouseMoveOccurs when the mouse pointer is moved over the control. (Inherited from Control.)
Public eventMouseUpOccurs when the mouse pointer is over the control and a mouse button is released. (Inherited from Control.)
Public eventMouseWheelOccurs when the mouse wheel moves while the control has focus. (Inherited from Control.)
Public eventMoveOccurs when the control is moved. (Inherited from Control.)
Public eventNodeMouseClickOccurs when the user clicks a TreeNode with the mouse.
Public eventNodeMouseDoubleClickOccurs when the user double-clicks a TreeNode with the mouse.
Public eventNodeMouseHoverOccurs when the mouse hovers over a TreeNode.
Public eventPaddingChangedInfrastructure. Occurs when the value of the Padding property changes.
Public eventPaintInfrastructure. Occurs when the TreeView is drawn.
Public eventParentChangedOccurs when the Parent property value changes. (Inherited from Control.)
Public eventPreviewKeyDownOccurs before the KeyDown event when a key is pressed while focus is on this control. (Inherited from Control.)
Public eventQueryAccessibilityHelpOccurs when AccessibleObject is providing help to accessibility applications. (Inherited from Control.)
Public eventQueryContinueDragOccurs during a drag-and-drop operation and enables the drag source to determine whether the drag-and-drop operation should be canceled. (Inherited from Control.)
Public eventRegionChangedOccurs when the value of the Region property changes. (Inherited from Control.)
Public eventResizeOccurs when the control is resized. (Inherited from Control.)
Public eventRightToLeftChangedOccurs when the RightToLeft property value changes. (Inherited from Control.)
Public eventRightToLeftLayoutChangedOccurs when the value of the RightToLeftLayout property changes.
Public eventSizeChangedOccurs when the Size property value changes. (Inherited from Control.)
Public eventStyleChangedOccurs when the control style changes. (Inherited from Control.)
Public eventSystemColorsChangedOccurs when the system colors change. (Inherited from Control.)
Public eventTabIndexChangedOccurs when the TabIndex property value changes. (Inherited from Control.)
Public eventTabStopChangedOccurs when the TabStop property value changes. (Inherited from Control.)
Public eventTextChangedInfrastructure. Occurs when the Text property changes.
Public eventValidatedOccurs when the control is finished validating. (Inherited from Control.)
Public eventValidatingOccurs when the control is validating. (Inherited from Control.)
Public eventVisibleChangedOccurs when the Visible property value changes. (Inherited from Control.)
Top

  NameDescription
Explicit interface implemetationPrivate methodIDropTarget.OnDragDropInfrastructure. Raises the DragDrop event. (Inherited from Control.)
Explicit interface implemetationPrivate methodIDropTarget.OnDragEnterInfrastructure. Raises the DragEnter event. (Inherited from Control.)
Explicit interface implemetationPrivate methodIDropTarget.OnDragLeaveInfrastructure. Raises the DragLeave event. (Inherited from Control.)
Explicit interface implemetationPrivate methodIDropTarget.OnDragOverInfrastructure. Raises the DragOver event. (Inherited from Control.)
Top

The Nodes collection holds all the TreeNode objects that are assigned to the TreeView control. The tree nodes in this collection are referred to as the root tree nodes. Any tree node that is subsequently added to a root tree node is referred to as a child node. Because each TreeNode can contain a collection of other TreeNode objects, you might find it difficult to determine your location in the tree structure when you iterate through the collection. You can parse the TreeNode.FullPath string by using the PathSeparator string value to determine where a TreeNode label begins and ends.

You can display images next to the tree nodes by assigning an ImageList to the ImageList property and referencing the index value of an Image in the ImageList to assign that Image. Use the following properties to assign images:

  • Set the ImageIndex property to the index value of the Image that you want to display when a tree node is not selected.

  • Set the SelectedImageIndex property to the index value of the Image that you want to display when a tree node is selected.

The images referenced by the ImageIndex and SelectedImageIndex property values are the default images displayed by all the tree nodes that are assigned to the Nodes collection. Individual tree nodes can override the default images by setting the TreeNode.ImageIndex and TreeNode.SelectedImageIndex properties.

The state images displayed in the TreeView are 16 x 16 pixels by default. Setting the ImageSize property of the StateImageList will have no effect on how the images are displayed. However, the state images are resized according to the system DPI setting when the app.config file contains the following entry:

<appSettings>
  <add key="EnableWindowsFormsHighDpiAutoResizing" value="true" />
</appSettings>

Tree nodes can be expanded to display the next level of child tree nodes. The user can expand the TreeNode by clicking the plus-sign (+) button, if one is displayed next to the TreeNode, or you can expand the TreeNode by calling the TreeNode.Expand method. To expand all the child tree node levels in the Nodes collection, call the ExpandAll method. You can collapse the child TreeNode level by calling the TreeNode.Collapse method, or the user can press the minus-sign (-) button, if one is displayed next to the TreeNode. You can also call the TreeNode.Toggle method to alternate between the expanded and collapsed states.

Tree nodes can optionally display check boxes. To display the check boxes, set the CheckBoxes property of the TreeView to true. The Checked property is set to true for tree nodes that are in a checked state.

NoteNote

Setting the TreeNode.Checked property from within the BeforeCheck or AfterCheck event causes the event to be raised multiple times and can result in unexpected behavior. For example, you might set the Checked property in the event handler when you are recursively updating the child nodes so that the user does not have to expand and check each one individually. To prevent the event from being raised multiple times, add logic to your event handler that only executes your recursive code if the Action property of the TreeViewEventArgs is not set to TreeViewAction.Unknown. For an example of how to do this, see the Example section of the AfterCheck or BeforeCheck events.

You can change the appearance of the TreeView control by setting some of its display and style properties. Setting ShowPlusMinus to true displays a plus-sign or minus-sign button next to each TreeNode that can be expanded or collapsed, respectively. Setting the ShowRootLines property to true causes the TreeView to display lines that join all the root tree nodes together. You can display lines that connect child tree nodes to their root node by setting the ShowLines property to true. Setting the HotTracking property to true changes the appearance of the tree node labels as the mouse pointer passes over them. When hot-tracked, the tree node labels take on the appearance of a hyperlink. You can also completely customize the appearance of the TreeView control. To do this, set the DrawMode property to a value other than TreeViewDrawMode.Normal and handle the DrawNode event.

NoteNote

When setting the CheckBoxes, Scrollable, ImageIndex, and SelectedImageIndex properties at run time, the TreeView handle is recreated (see Control.RecreateHandle) to update the control's appearance. This causes all tree nodes to be collapsed, except for the selected TreeNode.

The following code example demonstrates the use of the TreeView control.

// Populates a TreeView control with example nodes.  
private void InitializeTreeView()
{
    treeView1.BeginUpdate();
    treeView1.Nodes.Add("Parent");
    treeView1.Nodes[0].Nodes.Add("Child 1");
    treeView1.Nodes[0].Nodes.Add("Child 2");
    treeView1.Nodes[0].Nodes[1].Nodes.Add("Grandchild");
    treeView1.Nodes[0].Nodes[1].Nodes[0].Nodes.Add("Great Grandchild");
    treeView1.EndUpdate();
}

The following, more complex code example displays customer information in a TreeView control. The root tree nodes display customer names, and the child tree nodes display the order numbers assigned to each customer. In this example, 1,000 customers are displayed with 15 orders each. The repainting of the TreeView is suppressed by using the BeginUpdate and EndUpdate methods, and a wait Cursor is displayed while the TreeView creates and paints the TreeNode objects. This example requires that you have a Customer object that can hold a collection of Order objects. It also requires that you have a cursor file that is named MyWait.cur in the application directory and that you have created an instance of a TreeView control on a Form.


// The basic Customer class. 
public class Customer : System.Object
{
   private string custName = "";
   protected ArrayList custOrders = new ArrayList();

   public Customer(string customername)
   {
      this.custName = customername;
   }

   public string CustomerName
   {      
      get{return this.custName;}
      set{this.custName = value;}
   }

   public ArrayList CustomerOrders 
   {
      get{return this.custOrders;}
   }

} // End Customer class  


// The basic customer Order class. 
public class Order : System.Object
{
   private string ordID = "";

   public Order(string orderid)
   {
      this.ordID = orderid;
   }

   public string OrderID
   {      
      get{return this.ordID;}
      set{this.ordID = value;}
   }

} // End Order class 

// Create a new ArrayList to hold the Customer objects. 
private ArrayList customerArray = new ArrayList(); 

private void FillMyTreeView()
{
   // Add customers to the ArrayList of Customer objects. 
   for(int x=0; x<1000; x++)
   {
      customerArray.Add(new Customer("Customer" + x.ToString()));
   }

   // Add orders to each Customer object in the ArrayList. 
   foreach(Customer customer1 in customerArray)
   {
      for(int y=0; y<15; y++)
      {
         customer1.CustomerOrders.Add(new Order("Order" + y.ToString()));    
      }
   }

   // Display a wait cursor while the TreeNodes are being created.
   Cursor.Current = new Cursor("MyWait.cur");

   // Suppress repainting the TreeView until all the objects have been created.
   treeView1.BeginUpdate();

   // Clear the TreeView each time the method is called.
   treeView1.Nodes.Clear();

   // Add a root TreeNode for each Customer object in the ArrayList. 
   foreach(Customer customer2 in customerArray)
   {
      treeView1.Nodes.Add(new TreeNode(customer2.CustomerName));

      // Add a child treenode for each Order object in the current Customer object. 
      foreach(Order order1 in customer2.CustomerOrders)
      {
         treeView1.Nodes[customerArray.IndexOf(customer2)].Nodes.Add(
           new TreeNode(customer2.CustomerName + "." + order1.OrderID));
      }
   }

   // Reset the cursor to the default for all controls.
   Cursor.Current = Cursors.Default;

   // Begin repainting the TreeView.
   treeView1.EndUpdate();
}

.NET Framework

Supported in: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
Was this page helpful?
(1500 characters remaining)
Thank you for your feedback
Show:
© 2014 Microsoft