4 out of 9 rated this helpful - Rate this topic

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)]
[DockingAttribute(DockingBehavior.Ask)]
[ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch)]
public class TreeView : Control

The TreeView type exposes the following members.

  Name Description
Public method TreeView Initializes a new instance of the TreeView class.
Top
  Name Description
Public property AccessibilityObject Gets the AccessibleObject assigned to the control. (Inherited from Control.)
Public property AccessibleDefaultActionDescription Gets or sets the default action description of the control for use by accessibility client applications. (Inherited from Control.)
Public property AccessibleDescription Gets or sets the description of the control used by accessibility client applications. (Inherited from Control.)
Public property AccessibleName Gets or sets the name of the control used by accessibility client applications. (Inherited from Control.)
Public property AccessibleRole Gets or sets the accessible role of the control (Inherited from Control.)
Public property AllowDrop Gets or sets a value indicating whether the control can accept data that the user drags onto it. (Inherited from Control.)
Public property Anchor Gets 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 property AutoScrollOffset Gets or sets where this control is scrolled to in ScrollControlIntoView. (Inherited from Control.)
Public property AutoSize Infrastructure. This property is not relevant for this class. (Inherited from Control.)
Public property BackColor Gets or sets the background color for the control. (Overrides Control.BackColor.)
Public property BackgroundImage Infrastructure. Gets or set the background image for the TreeView control. (Overrides Control.BackgroundImage.)
Public property BackgroundImageLayout Infrastructure. Gets or sets the layout of the background image for the TreeView control. (Overrides Control.BackgroundImageLayout.)
Public property BindingContext Gets or sets the BindingContext for the control. (Inherited from Control.)
Public property BorderStyle Gets or sets the border style of the tree view control.
Public property Bottom Gets 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 property Bounds Gets or sets the size and location of the control including its nonclient elements, in pixels, relative to the parent control. (Inherited from Control.)
Protected property CanEnableIme Gets a value indicating whether the ImeMode property can be set to an active value, to enable IME support. (Inherited from Control.)
Public property CanFocus Gets a value indicating whether the control can receive focus. (Inherited from Control.)
Protected property CanRaiseEvents Determines if events can be raised on the control. (Inherited from Control.)
Public property CanSelect Gets a value indicating whether the control can be selected. (Inherited from Control.)
Public property Capture Gets or sets a value indicating whether the control has captured the mouse. (Inherited from Control.)
Public property CausesValidation Gets 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 property CheckBoxes Gets or sets a value indicating whether check boxes are displayed next to the tree nodes in the tree view control.
Public property ClientRectangle Gets the rectangle that represents the client area of the control. (Inherited from Control.)
Public property ClientSize Gets or sets the height and width of the client area of the control. (Inherited from Control.)
Public property CompanyName Gets the name of the company or creator of the application containing the control. (Inherited from Control.)
Public property Container Gets the IContainer that contains the Component. (Inherited from Component.)
Public property ContainsFocus Gets a value indicating whether the control, or one of its child controls, currently has the input focus. (Inherited from Control.)
Public property ContextMenu Gets or sets the shortcut menu associated with the control. (Inherited from Control.)
Public property ContextMenuStrip Gets or sets the ContextMenuStrip associated with this control. (Inherited from Control.)
Public property Controls Gets the collection of controls contained within the control. (Inherited from Control.)
Public property Created Gets a value indicating whether the control has been created. (Inherited from Control.)
Protected property CreateParams Infrastructure. Overrides CreateParams. (Overrides Control.CreateParams.)
Public property Cursor Gets or sets the cursor that is displayed when the mouse pointer is over the control. (Inherited from Control.)
Public property DataBindings Gets the data bindings for the control. (Inherited from Control.)
Protected property DefaultCursor Gets or sets the default cursor for the control. (Inherited from Control.)
Protected property DefaultImeMode Gets the default Input Method Editor (IME) mode supported by the control. (Inherited from Control.)
Protected property DefaultMargin Gets the space, in pixels, that is specified by default between controls. (Inherited from Control.)
Protected property DefaultMaximumSize Gets the length and height, in pixels, that is specified as the default maximum size of a control. (Inherited from Control.)
Protected property DefaultMinimumSize Gets the length and height, in pixels, that is specified as the default minimum size of a control. (Inherited from Control.)
Protected property DefaultPadding Gets the internal spacing, in pixels, of the contents of a control. (Inherited from Control.)
Protected property DefaultSize Gets the default size of the control. (Overrides Control.DefaultSize.)
Protected property DesignMode Gets a value that indicates whether the Component is currently in design mode. (Inherited from Component.)
Public property DisplayRectangle Gets the rectangle that represents the display area of the control. (Inherited from Control.)
Public property Disposing Gets a value indicating whether the base Control class is in the process of disposing. (Inherited from Control.)
Public property Dock Gets 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 property DoubleBuffered Gets 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 property DrawMode Gets or sets the mode in which the control is drawn.
Public property Enabled Gets or sets a value indicating whether the control can respond to user interaction. (Inherited from Control.)
Protected property Events Gets the list of event handlers that are attached to this Component. (Inherited from Component.)
Public property Focused Gets a value indicating whether the control has input focus. (Inherited from Control.)
Public property Font Gets or sets the font of the text displayed by the control. (Inherited from Control.)
Protected property FontHeight Gets or sets the height of the font of the control. (Inherited from Control.)
Public property ForeColor The current foreground color for this control, which is the color the control uses to draw its text. (Overrides Control.ForeColor.)
Public property FullRowSelect Gets or sets a value indicating whether the selection highlight spans the width of the tree view control.
Public property Handle Gets the window handle that the control is bound to. (Inherited from Control.)
Public property HasChildren Gets a value indicating whether the control contains one or more child controls. (Inherited from Control.)
Public property Height Gets or sets the height of the control. (Inherited from Control.)
Public property HideSelection Gets or sets a value indicating whether the selected tree node remains highlighted even when the tree view has lost the focus.
Public property HotTracking Gets 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 property ImageIndex Gets or sets the image-list index value of the default image that is displayed by the tree nodes.
Public property ImageKey Gets or sets the key of the default image for each node in the TreeView control when it is in an unselected state.
Public property ImageList Gets or sets the ImageList that contains the Image objects that are used by the tree nodes.
Public property ImeMode Gets or sets the Input Method Editor (IME) mode of the control. (Inherited from Control.)
Protected property ImeModeBase Gets or sets the IME mode of a control. (Inherited from Control.)
Public property Indent Gets or sets the distance to indent each child tree node level.
Public property InvokeRequired Gets 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 property IsAccessible Gets or sets a value indicating whether the control is visible to accessibility applications. (Inherited from Control.)
Public property IsDisposed Gets a value indicating whether the control has been disposed of. (Inherited from Control.)
Public property IsHandleCreated Gets a value indicating whether the control has a handle associated with it. (Inherited from Control.)
Public property IsMirrored Gets a value indicating whether the control is mirrored. (Inherited from Control.)
Public property ItemHeight Gets or sets the height of each tree node in the tree view control.
Public property LabelEdit Gets or sets a value indicating whether the label text of the tree nodes can be edited.
Public property LayoutEngine Gets a cached instance of the control's layout engine. (Inherited from Control.)
Public property Left Gets 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 property LineColor Gets or sets the color of the lines connecting the nodes of the TreeView control.
Public property Location Gets 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 property Margin Gets or sets the space between controls. (Inherited from Control.)
Public property MaximumSize Gets or sets the size that is the upper limit that GetPreferredSize can specify. (Inherited from Control.)
Public property MinimumSize Gets or sets the size that is the lower limit that GetPreferredSize can specify. (Inherited from Control.)
Public property Name Gets or sets the name of the control. (Inherited from Control.)
Public property Nodes Gets the collection of tree nodes that are assigned to the tree view control.
Public property Padding Infrastructure. Gets or sets the spacing between the TreeView control's contents and its edges.
Public property Parent Gets or sets the parent container of the control. (Inherited from Control.)
Public property PathSeparator Gets or sets the delimiter string that the tree node path uses.
Public property PreferredSize Gets the size of a rectangular area into which the control can fit. (Inherited from Control.)
Public property ProductName Gets the product name of the assembly containing the control. (Inherited from Control.)
Public property ProductVersion Gets the version of the assembly containing the control. (Inherited from Control.)
Public property RecreatingHandle Gets a value indicating whether the control is currently re-creating its handle. (Inherited from Control.)
Public property Region Gets or sets the window region associated with the control. (Inherited from Control.)
Protected property RenderRightToLeft Obsolete. This property is now obsolete. (Inherited from Control.)
Protected property ResizeRedraw Gets or sets a value indicating whether the control redraws itself when resized. (Inherited from Control.)
Public property Right Gets 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 property RightToLeft Gets or sets a value indicating whether control's elements are aligned to support locales using right-to-left fonts. (Inherited from Control.)
Public property RightToLeftLayout Gets or sets a value that indicates whether the TreeView should be laid out from right-to-left.
Protected property ScaleChildren Gets a value that determines the scaling of child controls. (Inherited from Control.)
Public property Scrollable Gets or sets a value indicating whether the tree view control displays scroll bars when they are needed.
Public property SelectedImageIndex Gets or sets the image list index value of the image that is displayed when a tree node is selected.
Public property SelectedImageKey Gets or sets the key of the default image shown when a TreeNode is in a selected state.
Public property SelectedNode Gets or sets the tree node that is currently selected in the tree view control.
Protected property ShowFocusCues Gets a value indicating whether the control should display focus rectangles. (Inherited from Control.)
Protected property ShowKeyboardCues Gets a value indicating whether the user interface is in the appropriate state to show or hide keyboard accelerators. (Inherited from Control.)
Public property ShowLines Gets or sets a value indicating whether lines are drawn between tree nodes in the tree view control.
Public property ShowNodeToolTips Gets or sets a value indicating ToolTips are shown when the mouse pointer hovers over a TreeNode.
Public property ShowPlusMinus Gets or sets a value indicating whether plus-sign (+) and minus-sign (-) buttons are displayed next to tree nodes that contain child tree nodes.
Public property ShowRootLines Gets or sets a value indicating whether lines are drawn between the tree nodes that are at the root of the tree view.
Public property Site Gets or sets the site of the control. (Inherited from Control.)
Public property Size Gets or sets the height and width of the control. (Inherited from Control.)
Public property Sorted Gets or sets a value indicating whether the tree nodes in the tree view are sorted.
Public property StateImageList Gets or sets the image list that is used to indicate the state of the TreeView and its nodes.
Public property TabIndex Gets or sets the tab order of the control within its container. (Inherited from Control.)
Public property TabStop Gets or sets a value indicating whether the user can give the focus to this control using the TAB key. (Inherited from Control.)
Public property Tag Gets or sets the object that contains data about the control. (Inherited from Control.)
Public property Text Infrastructure. Gets or sets the text of the TreeView. (Overrides Control.Text.)
Public property Top Gets 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 property TopLevelControl Gets 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 property TopNode Gets or sets the first fully-visible tree node in the tree view control.
Public property TreeViewNodeSorter Gets or sets the implementation of IComparer to perform a custom sort of the TreeView nodes.
Public property UseWaitCursor Gets or sets a value indicating whether to use the wait cursor for the current control and all child controls. (Inherited from Control.)
Public property Visible Gets or sets a value indicating whether the control and all its child controls are displayed. (Inherited from Control.)
Public property VisibleCount Gets the number of tree nodes that can be fully visible in the tree view control.
Public property Width Gets or sets the width of the control. (Inherited from Control.)
Public property WindowTarget Infrastructure. This property is not relevant for this class. (Inherited from Control.)
Top
  Name Description
Protected method AccessibilityNotifyClients(AccessibleEvents, Int32) Notifies the accessibility client applications of the specified AccessibleEvents for the specified child control. (Inherited from Control.)
Protected method AccessibilityNotifyClients(AccessibleEvents, Int32, Int32) Notifies the accessibility client applications of the specified AccessibleEvents for the specified child control . (Inherited from Control.)
Public method BeginInvoke(Delegate) Executes the specified delegate asynchronously on the thread that the control's underlying handle was created on. (Inherited from Control.)
Public method BeginInvoke(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 method BeginUpdate Disables any redrawing of the tree view.
Public method BringToFront Brings the control to the front of the z-order. (Inherited from Control.)
Public method CollapseAll Collapses all the tree nodes.
Public method Contains Retrieves a value indicating whether the specified control is a child of the control. (Inherited from Control.)
Protected method CreateAccessibilityInstance Creates a new accessibility object for the control. (Inherited from Control.)
Public method CreateControl Forces the creation of the visible control, including the creation of the handle and any visible child controls. (Inherited from Control.)
Protected method CreateControlsInstance Creates a new instance of the control collection for the control. (Inherited from Control.)
Public method CreateGraphics Creates the Graphics for the control. (Inherited from Control.)
Protected method CreateHandle Infrastructure. Creates a handle for the control. (Overrides Control.CreateHandle().)
Public method CreateObjRef Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object. (Inherited from MarshalByRefObject.)
Protected method DefWndProc Sends the specified message to the default window procedure. (Inherited from Control.)
Protected method DestroyHandle Destroys the handle associated with the control. (Inherited from Control.)
Public method Dispose() Releases all resources used by the Component. (Inherited from Component.)
Protected method Dispose(Boolean) Releases the unmanaged resources used by the TreeView and optionally releases the managed resources. (Overrides Control.Dispose(Boolean).)
Public method DoDragDrop Begins a drag-and-drop operation. (Inherited from Control.)
Public method DrawToBitmap Supports rendering to the specified bitmap. (Inherited from Control.)
Public method EndInvoke Retrieves the return value of the asynchronous operation represented by the IAsyncResult passed. (Inherited from Control.)
Public method EndUpdate Enables the redrawing of the tree view.
Public method Equals(Object) Determines whether the specified Object is equal to the current Object. (Inherited from Object.)
Public method ExpandAll Expands all the tree nodes.
Protected method Finalize Releases unmanaged resources and performs other cleanup operations before the Component is reclaimed by garbage collection. (Inherited from Component.)
Public method FindForm Retrieves the form that the control is on. (Inherited from Control.)
Public method Focus Sets input focus to the control. (Inherited from Control.)
Protected method GetAccessibilityObjectById Retrieves the specified AccessibleObject. (Inherited from Control.)
Protected method GetAutoSizeMode Retrieves a value indicating how a control will behave when its AutoSize property is enabled. (Inherited from Control.)
Public method GetChildAtPoint(Point) Retrieves the child control that is located at the specified coordinates. (Inherited from Control.)
Public method GetChildAtPoint(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 method GetContainerControl Returns the next ContainerControl up the control's chain of parent controls. (Inherited from Control.)
Public method GetHashCode Serves as a hash function for a particular type. (Inherited from Object.)
Protected method GetItemRenderStyles Infrastructure. Returns an OwnerDrawPropertyBag for the specified TreeNode.
Public method GetLifetimeService Retrieves the current lifetime service object that controls the lifetime policy for this instance. (Inherited from MarshalByRefObject.)
Public method GetNextControl Retrieves the next control forward or back in the tab order of child controls. (Inherited from Control.)
Public method GetNodeAt(Point) Retrieves the tree node that is at the specified point.
Public method GetNodeAt(Int32, Int32) Retrieves the tree node at the point with the specified coordinates.
Public method GetNodeCount Retrieves the number of tree nodes, optionally including those in all subtrees, assigned to the tree view control.
Public method GetPreferredSize Retrieves the size of a rectangular area into which a control can be fitted. (Inherited from Control.)
Protected method GetScaledBounds Retrieves the bounds within which the control is scaled. (Inherited from Control.)
Protected method GetService Returns an object that represents a service provided by the Component or by its Container. (Inherited from Component.)
Protected method GetStyle Retrieves the value of the specified control style bit for the control. (Inherited from Control.)
Protected method GetTopLevel Determines if the control is a top-level control. (Inherited from Control.)
Public method GetType Gets the Type of the current instance. (Inherited from Object.)
Public method Hide Conceals the control from the user. (Inherited from Control.)
Public method HitTest(Point) Provides node information, given a point.
Public method HitTest(Int32, Int32) Provides node information, given x- and y-coordinates.
Public method InitializeLifetimeService Obtains a lifetime service object to control the lifetime policy for this instance. (Inherited from MarshalByRefObject.)
Protected method InitLayout Called after the control has been added to another container. (Inherited from Control.)
Public method Invalidate() Invalidates the entire surface of the control and causes the control to be redrawn. (Inherited from Control.)
Public method Invalidate(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 method Invalidate(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 method Invalidate(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 method Invalidate(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 method Invalidate(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 method Invoke(Delegate) Executes the specified delegate on the thread that owns the control's underlying window handle. (Inherited from Control.)
Public method Invoke(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 method InvokeGotFocus Raises the GotFocus event for the specified control. (Inherited from Control.)
Protected method InvokeLostFocus Raises the LostFocus event for the specified control. (Inherited from Control.)
Protected method InvokeOnClick Raises the Click event for the specified control. (Inherited from Control.)
Protected method InvokePaint Raises the Paint event for the specified control. (Inherited from Control.)
Protected method InvokePaintBackground Raises the PaintBackground event for the specified control. (Inherited from Control.)
Protected method IsInputChar Determines if a character is an input character that the control recognizes. (Inherited from Control.)
Protected method IsInputKey Infrastructure. Determines whether the specified key is a regular input key or a special key that requires preprocessing. (Overrides Control.IsInputKey(Keys).)
Protected method MemberwiseClone() Creates a shallow copy of the current Object. (Inherited from Object.)
Protected method MemberwiseClone(Boolean) Creates a shallow copy of the current MarshalByRefObject object. (Inherited from MarshalByRefObject.)
Protected method NotifyInvalidate Infrastructure. Raises the Invalidated event with a specified region of the control to invalidate. (Inherited from Control.)
Protected method OnAfterCheck Raises the AfterCheck event.
Protected method OnAfterCollapse Raises the AfterCollapse event.
Protected method OnAfterExpand Raises the AfterExpand event.
Protected method OnAfterLabelEdit Raises the AfterLabelEdit event.
Protected method OnAfterSelect Raises the AfterSelect event.
Protected method OnAutoSizeChanged Raises the AutoSizeChanged event. (Inherited from Control.)
Protected method OnBackColorChanged Raises the BackColorChanged event. (Inherited from Control.)
Protected method OnBackgroundImageChanged Raises the BackgroundImageChanged event. (Inherited from Control.)
Protected method OnBackgroundImageLayoutChanged Raises the BackgroundImageLayoutChanged event. (Inherited from Control.)
Protected method OnBeforeCheck Raises the BeforeCheck event.
Protected method OnBeforeCollapse Raises the BeforeCollapse event.
Protected method OnBeforeExpand Raises the BeforeExpand event.
Protected method OnBeforeLabelEdit Raises the BeforeLabelEdit event.
Protected method OnBeforeSelect Raises the BeforeSelect event.
Protected method OnBindingContextChanged Raises the BindingContextChanged event. (Inherited from Control.)
Protected method OnCausesValidationChanged Raises the CausesValidationChanged event. (Inherited from Control.)
Protected method OnChangeUICues Raises the ChangeUICues event. (Inherited from Control.)
Protected method OnClick Raises the Click event. (Inherited from Control.)
Protected method OnClientSizeChanged Raises the ClientSizeChanged event. (Inherited from Control.)
Protected method OnContextMenuChanged Raises the ContextMenuChanged event. (Inherited from Control.)
Protected method OnContextMenuStripChanged Raises the ContextMenuStripChanged event. (Inherited from Control.)
Protected method OnControlAdded Raises the ControlAdded event. (Inherited from Control.)
Protected method OnControlRemoved Raises the ControlRemoved event. (Inherited from Control.)
Protected method OnCreateControl Raises the CreateControl method. (Inherited from Control.)
Protected method OnCursorChanged Raises the CursorChanged event. (Inherited from Control.)
Protected method OnDockChanged Raises the DockChanged event. (Inherited from Control.)
Protected method OnDoubleClick Raises the DoubleClick event. (Inherited from Control.)
Protected method OnDragDrop Raises the DragDrop event. (Inherited from Control.)
Protected method OnDragEnter Raises the DragEnter event. (Inherited from Control.)
Protected method OnDragLeave Raises the DragLeave event. (Inherited from Control.)
Protected method OnDragOver Raises the DragOver event. (Inherited from Control.)
Protected method OnDrawNode Raises the DrawNode event.
Protected method OnEnabledChanged Raises the EnabledChanged event. (Inherited from Control.)
Protected method OnEnter Raises the Enter event. (Inherited from Control.)
Protected method OnFontChanged Raises the FontChanged event. (Inherited from Control.)
Protected method OnForeColorChanged Raises the ForeColorChanged event. (Inherited from Control.)
Protected method OnGiveFeedback Raises the GiveFeedback event. (Inherited from Control.)
Protected method OnGotFocus Raises the GotFocus event. (Inherited from Control.)
Protected method OnHandleCreated Overrides OnHandleCreated. (Overrides Control.OnHandleCreated(EventArgs).)
Protected method OnHandleDestroyed Overrides OnHandleDestroyed. (Overrides Control.OnHandleDestroyed(EventArgs).)
Protected method OnHelpRequested Raises the HelpRequested event. (Inherited from Control.)
Protected method OnImeModeChanged Raises the ImeModeChanged event. (Inherited from Control.)
Protected method OnInvalidated Raises the Invalidated event. (Inherited from Control.)
Protected method OnItemDrag Raises the ItemDrag event.
Protected method OnKeyDown Infrastructure. Raises the KeyDown event. (Overrides Control.OnKeyDown(KeyEventArgs).)
Protected method OnKeyPress Infrastructure. Raises the KeyPress event. (Overrides Control.OnKeyPress(KeyPressEventArgs).)
Protected method OnKeyUp Overrides OnKeyUp. (Overrides Control.OnKeyUp(KeyEventArgs).)
Protected method OnLayout Raises the Layout event. (Inherited from Control.)
Protected method OnLeave Raises the Leave event. (Inherited from Control.)
Protected method OnLocationChanged Raises the LocationChanged event. (Inherited from Control.)
Protected method OnLostFocus Raises the LostFocus event. (Inherited from Control.)
Protected method OnMarginChanged Raises the MarginChanged event. (Inherited from Control.)
Protected method OnMouseCaptureChanged Raises the MouseCaptureChanged event. (Inherited from Control.)
Protected method OnMouseClick Raises the MouseClick event. (Inherited from Control.)
Protected method OnMouseDoubleClick Raises the MouseDoubleClick event. (Inherited from Control.)
Protected method OnMouseDown Raises the MouseDown event. (Inherited from Control.)
Protected method OnMouseEnter Raises the MouseEnter event. (Inherited from Control.)
Protected method OnMouseHover Raises the MouseHover event. (Overrides Control.OnMouseHover(EventArgs).)
Protected method OnMouseLeave Raises the MouseLeave event. (Overrides Control.OnMouseLeave(EventArgs).)
Protected method OnMouseMove Raises the MouseMove event. (Inherited from Control.)
Protected method OnMouseUp Raises the MouseUp event. (Inherited from Control.)
Protected method OnMouseWheel Raises the MouseWheel event. (Inherited from Control.)
Protected method OnMove Raises the Move event. (Inherited from Control.)
Protected method OnNodeMouseClick Raises the NodeMouseClick event.
Protected method OnNodeMouseDoubleClick Raises the NodeMouseDoubleClick event.
Protected method OnNodeMouseHover Raises the NodeMouseHover event.
Protected method OnNotifyMessage Notifies the control of Windows messages. (Inherited from Control.)
Protected method OnPaddingChanged Raises the PaddingChanged event. (Inherited from Control.)
Protected method OnPaint Raises the Paint event. (Inherited from Control.)
Protected method OnPaintBackground Paints the background of the control. (Inherited from Control.)
Protected method OnParentBackColorChanged Raises the BackColorChanged event when the BackColor property value of the control's container changes. (Inherited from Control.)
Protected method OnParentBackgroundImageChanged Raises the BackgroundImageChanged event when the BackgroundImage property value of the control's container changes. (Inherited from Control.)
Protected method OnParentBindingContextChanged Raises the BindingContextChanged event when the BindingContext property value of the control's container changes. (Inherited from Control.)
Protected method OnParentChanged Raises the ParentChanged event. (Inherited from Control.)
Protected method OnParentCursorChanged Raises the CursorChanged event. (Inherited from Control.)
Protected method OnParentEnabledChanged Raises the EnabledChanged event when the Enabled property value of the control's container changes. (Inherited from Control.)
Protected method OnParentFontChanged Raises the FontChanged event when the Font property value of the control's container changes. (Inherited from Control.)
Protected method OnParentForeColorChanged Raises the ForeColorChanged event when the ForeColor property value of the control's container changes. (Inherited from Control.)
Protected method OnParentRightToLeftChanged Raises the RightToLeftChanged event when the RightToLeft property value of the control's container changes. (Inherited from Control.)
Protected method OnParentVisibleChanged Raises the VisibleChanged event when the Visible property value of the control's container changes. (Inherited from Control.)
Protected method OnPreviewKeyDown Raises the PreviewKeyDown event. (Inherited from Control.)
Protected method OnPrint Raises the Paint event. (Inherited from Control.)
Protected method OnQueryContinueDrag Raises the QueryContinueDrag event. (Inherited from Control.)
Protected method OnRegionChanged Raises the RegionChanged event. (Inherited from Control.)
Protected method OnResize Raises the Resize event. (Inherited from Control.)
Protected method OnRightToLeftChanged Raises the RightToLeftChanged event. (Inherited from Control.)
Protected method OnRightToLeftLayoutChanged Raises the RightToLeftLayoutChanged event.
Protected method OnSizeChanged Raises the SizeChanged event. (Inherited from Control.)
Protected method OnStyleChanged Raises the StyleChanged event. (Inherited from Control.)
Protected method OnSystemColorsChanged Raises the SystemColorsChanged event. (Inherited from Control.)
Protected method OnTabIndexChanged Raises the TabIndexChanged event. (Inherited from Control.)
Protected method OnTabStopChanged Raises the TabStopChanged event. (Inherited from Control.)
Protected method OnTextChanged Raises the TextChanged event. (Inherited from Control.)
Protected method OnValidated Raises the Validated event. (Inherited from Control.)
Protected method OnValidating Raises the Validating event. (Inherited from Control.)
Protected method OnVisibleChanged Raises the VisibleChanged event. (Inherited from Control.)
Public method PerformLayout() Forces the control to apply layout logic to all its child controls. (Inherited from Control.)
Public method PerformLayout(Control, String) Forces the control to apply layout logic to all its child controls. (Inherited from Control.)
Public method PointToClient Computes the location of the specified screen point into client coordinates. (Inherited from Control.)
Public method PointToScreen Computes the location of the specified client point into screen coordinates. (Inherited from Control.)
Public method PreProcessControlMessage Preprocesses keyboard or input messages within the message loop before they are dispatched. (Inherited from Control.)
Public method PreProcessMessage Preprocesses keyboard or input messages within the message loop before they are dispatched. (Inherited from Control.)
Protected method ProcessCmdKey Processes a command key. (Inherited from Control.)
Protected method ProcessDialogChar Processes a dialog character. (Inherited from Control.)
Protected method ProcessDialogKey Processes a dialog key. (Inherited from Control.)
Protected method ProcessKeyEventArgs Processes a key message and generates the appropriate control events. (Inherited from Control.)
Protected method ProcessKeyMessage Processes a keyboard message. (Inherited from Control.)
Protected method ProcessKeyPreview Previews a keyboard message. (Inherited from Control.)
Protected method ProcessMnemonic Processes a mnemonic character. (Inherited from Control.)
Protected method RaiseDragEvent Infrastructure. Raises the appropriate drag event. (Inherited from Control.)
Protected method RaiseKeyEvent Infrastructure. Raises the appropriate key event. (Inherited from Control.)
Protected method RaiseMouseEvent Infrastructure. Raises the appropriate mouse event. (Inherited from Control.)
Protected method RaisePaintEvent Infrastructure. Raises the appropriate paint event. (Inherited from Control.)
Protected method RecreateHandle Forces the re-creation of the handle for the control. (Inherited from Control.)
Public method RectangleToClient Computes the size and location of the specified screen rectangle in client coordinates. (Inherited from Control.)
Public method RectangleToScreen Computes the size and location of the specified client rectangle in screen coordinates. (Inherited from Control.)
Public method Refresh Forces the control to invalidate its client area and immediately redraw itself and any child controls. (Inherited from Control.)
Public method ResetBackColor Resets the BackColor property to its default value. (Inherited from Control.)
Public method ResetBindings Causes a control bound to the BindingSource to reread all the items in the list and refresh their displayed values. (Inherited from Control.)
Public method ResetCursor Resets the Cursor property to its default value. (Inherited from Control.)
Public method ResetFont Resets the Font property to its default value. (Inherited from Control.)
Public method ResetForeColor Resets the ForeColor property to its default value. (Inherited from Control.)
Public method ResetImeMode Resets the ImeMode property to its default value. (Inherited from Control.)
Protected method ResetMouseEventArgs Infrastructure. Resets the control to handle the MouseLeave event. (Inherited from Control.)
Public method ResetRightToLeft Resets the RightToLeft property to its default value. (Inherited from Control.)
Public method ResetText Resets the Text property to its default value. (Inherited from Control.)
Public method ResumeLayout() Resumes usual layout logic. (Inherited from Control.)
Public method ResumeLayout(Boolean) Resumes usual layout logic, optionally forcing an immediate layout of pending layout requests. (Inherited from Control.)
Protected method RtlTranslateAlignment(ContentAlignment) Converts the specified ContentAlignment to the appropriate ContentAlignment to support right-to-left text. (Inherited from Control.)
Protected method RtlTranslateAlignment(HorizontalAlignment) Converts the specified HorizontalAlignment to the appropriate HorizontalAlignment to support right-to-left text. (Inherited from Control.)
Protected method RtlTranslateAlignment(LeftRightAlignment) Converts the specified LeftRightAlignment to the appropriate LeftRightAlignment to support right-to-left text. (Inherited from Control.)
Protected method RtlTranslateContent Converts the specified ContentAlignment to the appropriate ContentAlignment to support right-to-left text. (Inherited from Control.)
Protected method RtlTranslateHorizontal Converts the specified HorizontalAlignment to the appropriate HorizontalAlignment to support right-to-left text. (Inherited from Control.)
Protected method RtlTranslateLeftRight Converts the specified LeftRightAlignment to the appropriate LeftRightAlignment to support right-to-left text. (Inherited from Control.)
Public method Scale(Single) Obsolete. Scales the control and any child controls. (Inherited from Control.)
Public method Scale(SizeF) Scales the control and all child controls by the specified scaling factor. (Inherited from Control.)
Public method Scale(Single, Single) Obsolete. Scales the entire control and any child controls. (Inherited from Control.)
Protected method ScaleControl Scales a control's location, size, padding and margin. (Inherited from Control.)
Protected method ScaleCore Infrastructure. This method is not relevant for this class. (Inherited from Control.)
Public method Select() Activates the control. (Inherited from Control.)
Protected method Select(Boolean, Boolean) Activates a child control. Optionally specifies the direction in the tab order to select the control from. (Inherited from Control.)
Public method SelectNextControl Activates the next control. (Inherited from Control.)
Public method SendToBack Sends the control to the back of the z-order. (Inherited from Control.)
Protected method SetAutoSizeMode Sets a value indicating how a control will behave when its AutoSize property is enabled. (Inherited from Control.)
Public method SetBounds(Int32, Int32, Int32, Int32) Sets the bounds of the control to the specified location and size. (Inherited from Control.)
Public method SetBounds(Int32, Int32, Int32, Int32, BoundsSpecified) Sets the specified bounds of the control to the specified location and size. (Inherited from Control.)
Protected method SetBoundsCore Performs the work of setting the specified bounds of this control. (Inherited from Control.)
Protected method SetClientSizeCore Sets the size of the client area of the control. (Inherited from Control.)
Protected method SetStyle Sets a specified ControlStyles flag to either true or false. (Inherited from Control.)
Protected method SetTopLevel Sets the control as the top-level control. (Inherited from Control.)
Protected method SetVisibleCore Sets the control to the specified visible state. (Inherited from Control.)
Public method Show Displays the control to the user. (Inherited from Control.)
Protected method SizeFromClientSize Determines the size of the entire control from the height and width of its client area. (Inherited from Control.)
Public method Sort Sorts the items in TreeView control.
Public method SuspendLayout Temporarily suspends the layout logic for the control. (Inherited from Control.)
Public method ToString Infrastructure. Overrides ToString. (Overrides Component.ToString().)
Public method Update Causes the control to redraw the invalidated regions within its client area. (Inherited from Control.)
Protected method UpdateBounds() Updates the bounds of the control with the current size and location. (Inherited from Control.)
Protected method UpdateBounds(Int32, Int32, Int32, Int32) Updates the bounds of the control with the specified size and location. (Inherited from Control.)
Protected method UpdateBounds(Int32, Int32, Int32, Int32, Int32, Int32) Updates the bounds of the control with the specified size, location, and client size. (Inherited from Control.)
Protected method UpdateStyles Forces the assigned styles to be reapplied to the control. (Inherited from Control.)
Protected method UpdateZOrder Updates the control in its parent's z-order. (Inherited from Control.)
Protected method WndProc Overrides WndProc. (Overrides Control.WndProc(Message).)
Top
  Name Description
Public event AfterCheck Occurs after the tree node check box is checked.
Public event AfterCollapse Occurs after the tree node is collapsed.
Public event AfterExpand Occurs after the tree node is expanded.
Public event AfterLabelEdit Occurs after the tree node label text is edited.
Public event AfterSelect Occurs after the tree node is selected.
Public event AutoSizeChanged Infrastructure. This event is not relevant for this class. (Inherited from Control.)
Public event BackColorChanged Occurs when the value of the BackColor property changes. (Inherited from Control.)
Public event BackgroundImageChanged Infrastructure. Occurs when the BackgroundImage property changes.
Public event BackgroundImageLayoutChanged Infrastructure. Occurs when the BackgroundImageLayout property changes.
Public event BeforeCheck Occurs before the tree node check box is checked.
Public event BeforeCollapse Occurs before the tree node is collapsed.
Public event BeforeExpand Occurs before the tree node is expanded.
Public event BeforeLabelEdit Occurs before the tree node label text is edited.
Public event BeforeSelect Occurs before the tree node is selected.
Public event BindingContextChanged Occurs when the value of the BindingContext property changes. (Inherited from Control.)
Public event CausesValidationChanged Occurs when the value of the CausesValidation property changes. (Inherited from Control.)
Public event ChangeUICues Occurs when the focus or keyboard user interface (UI) cues change. (Inherited from Control.)
Public event Click Occurs when the control is clicked. (Inherited from Control.)
Public event ClientSizeChanged Occurs when the value of the ClientSize property changes. (Inherited from Control.)
Public event ContextMenuChanged Occurs when the value of the ContextMenu property changes. (Inherited from Control.)
Public event ContextMenuStripChanged Occurs when the value of the ContextMenuStrip property changes. (Inherited from Control.)
Public event ControlAdded Occurs when a new control is added to the Control.ControlCollection. (Inherited from Control.)
Public event ControlRemoved Occurs when a control is removed from the Control.ControlCollection. (Inherited from Control.)
Public event CursorChanged Occurs when the value of the Cursor property changes. (Inherited from Control.)
Public event Disposed Occurs when the component is disposed by a call to the Dispose method. (Inherited from Component.)
Public event DockChanged Occurs when the value of the Dock property changes. (Inherited from Control.)
Public event DoubleClick Occurs when the control is double-clicked. (Inherited from Control.)
Public event DragDrop Occurs when a drag-and-drop operation is completed. (Inherited from Control.)
Public event DragEnter Occurs when an object is dragged into the control's bounds. (Inherited from Control.)
Public event DragLeave Occurs when an object is dragged out of the control's bounds. (Inherited from Control.)
Public event DragOver Occurs when an object is dragged over the control's bounds. (Inherited from Control.)
Public event DrawNode Occurs when a TreeView is drawn and the DrawMode property is set to a TreeViewDrawMode value other than Normal.
Public event EnabledChanged Occurs when the Enabled property value has changed. (Inherited from Control.)
Public event Enter Occurs when the control is entered. (Inherited from Control.)
Public event FontChanged Occurs when the Font property value changes. (Inherited from Control.)
Public event ForeColorChanged Occurs when the ForeColor property value changes. (Inherited from Control.)
Public event GiveFeedback Occurs during a drag operation. (Inherited from Control.)
Public event GotFocus Occurs when the control receives focus. (Inherited from Control.)
Public event HandleCreated Occurs when a handle is created for the control. (Inherited from Control.)
Public event HandleDestroyed Occurs when the control's handle is in the process of being destroyed. (Inherited from Control.)
Public event HelpRequested Occurs when the user requests help for a control. (Inherited from Control.)
Public event ImeModeChanged Occurs when the ImeMode property has changed. (Inherited from Control.)
Public event Invalidated Occurs when a control's display requires redrawing. (Inherited from Control.)
Public event ItemDrag Occurs when the user begins dragging a node.
Public event KeyDown Occurs when a key is pressed while the control has focus. (Inherited from Control.)
Public event KeyPress Occurs when a key is pressed while the control has focus. (Inherited from Control.)
Public event KeyUp Occurs when a key is released while the control has focus. (Inherited from Control.)
Public event Layout Occurs when a control should reposition its child controls. (Inherited from Control.)
Public event Leave Occurs when the input focus leaves the control. (Inherited from Control.)
Public event LocationChanged Occurs when the Location property value has changed. (Inherited from Control.)
Public event LostFocus Occurs when the control loses focus. (Inherited from Control.)
Public event MarginChanged Occurs when the control's margin changes. (Inherited from Control.)
Public event MouseCaptureChanged Occurs when the control loses mouse capture. (Inherited from Control.)
Public event MouseClick Occurs when the control is clicked by the mouse. (Inherited from Control.)
Public event MouseDoubleClick Occurs when the control is double clicked by the mouse. (Inherited from Control.)
Public event MouseDown Occurs when the mouse pointer is over the control and a mouse button is pressed. (Inherited from Control.)
Public event MouseEnter Occurs when the mouse pointer enters the control. (Inherited from Control.)
Public event MouseHover Occurs when the mouse pointer rests on the control. (Inherited from Control.)
Public event MouseLeave Occurs when the mouse pointer leaves the control. (Inherited from Control.)
Public event MouseMove Occurs when the mouse pointer is moved over the control. (Inherited from Control.)
Public event MouseUp Occurs when the mouse pointer is over the control and a mouse button is released. (Inherited from Control.)
Public event MouseWheel Occurs when the mouse wheel moves while the control has focus. (Inherited from Control.)
Public event Move Occurs when the control is moved. (Inherited from Control.)
Public event NodeMouseClick Occurs when the user clicks a TreeNode with the mouse.
Public event NodeMouseDoubleClick Occurs when the user double-clicks a TreeNode with the mouse.
Public event NodeMouseHover Occurs when the mouse hovers over a TreeNode.
Public event PaddingChanged Infrastructure. Occurs when the value of the Padding property changes.
Public event Paint Infrastructure. Occurs when the TreeView is drawn.
Public event ParentChanged Occurs when the Parent property value changes. (Inherited from Control.)
Public event PreviewKeyDown Occurs before the KeyDown event when a key is pressed while focus is on this control. (Inherited from Control.)
Public event QueryAccessibilityHelp Occurs when AccessibleObject is providing help to accessibility applications. (Inherited from Control.)
Public event QueryContinueDrag Occurs 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 event RegionChanged Occurs when the value of the Region property changes. (Inherited from Control.)
Public event Resize Occurs when the control is resized. (Inherited from Control.)
Public event RightToLeftChanged Occurs when the RightToLeft property value changes. (Inherited from Control.)
Public event RightToLeftLayoutChanged Occurs when the value of the RightToLeftLayout property changes.
Public event SizeChanged Occurs when the Size property value changes. (Inherited from Control.)
Public event StyleChanged Occurs when the control style changes. (Inherited from Control.)
Public event SystemColorsChanged Occurs when the system colors change. (Inherited from Control.)
Public event TabIndexChanged Occurs when the TabIndex property value changes. (Inherited from Control.)
Public event TabStopChanged Occurs when the TabStop property value changes. (Inherited from Control.)
Public event TextChanged Infrastructure. Occurs when the Text property changes.
Public event Validated Occurs when the control is finished validating. (Inherited from Control.)
Public event Validating Occurs when the control is validating. (Inherited from Control.)
Public event VisibleChanged Occurs when the Visible property value changes. (Inherited from Control.)
Top
  Name Description
Explicit interface implemetation Private method IDropTarget.OnDragDrop Infrastructure. Raises the DragDrop event. (Inherited from Control.)
Explicit interface implemetation Private method IDropTarget.OnDragEnter Infrastructure. Raises the DragEnter event. (Inherited from Control.)
Explicit interface implemetation Private method IDropTarget.OnDragLeave Infrastructure. Raises the DragLeave event. (Inherited from Control.)
Explicit interface implemetation Private method IDropTarget.OnDragOver Infrastructure. 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.

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.

Note Note

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.

Note Note

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, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

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.
Did you find this helpful?
(1500 characters remaining)
Community Content Add
Annotations FAQ
Dutch Heritage USA
Comments here.
Dutch Heritage USA
Comments here.
Default (alles) | Labo4
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default" %>

<%@ Register src="~/wuc/ViewProduct.ascx" tagname="ViewProduct" tagprefix="wuc" %>

<%@ Register src="wuc/ViewCart.ascx" tagname="ViewCart" tagprefix="uc1" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
   <!--<link href="App_Themes/ThemeSilver/silver.css" rel="stylesheet" type="text/css" />-->
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <h2>Sportstore</h2>
    Service first.
    <div>
    <!-- Hier een dropdownlist om een theme te selecteren -->

        <asp:DropDownList ID="ddlTheme" runat="server" AutoPostBack="true">
            <asp:ListItem Value="ThemeSilver">Silver Theme</asp:ListItem>
            <asp:ListItem Value="ThemeDark">Dark Theme</asp:ListItem>
        </asp:DropDownList>

    </div>

    <div >  
            <div id="menu">
                <!-- Hier een menu om de productcategorie te selecteren -->  
                <asp:TreeView ID="TreeView1" runat="server">
                </asp:TreeView>
            </div>
            <div id="content">
                <!-- Hier een usercontrol die de producten toont -->
                <asp:Panel ID="pnlProducts" runat="server">
                    <wuc:ViewProduct ID="viewProduct" runat="server" />
                </asp:Panel>
            </div>
       
            <div id="cart">
                 <!-- Hier een usercontrol met de aankoopkar -->
                 <uc1:ViewCart ID="ViewCart1" runat="server" />
                 
                 
            </div>
     </div>
    </form>
</body>
</html>
Default (TreeView - Cookies - Themes) (codebehind) | Labo4
Imports System.Data.SqlClient
Imports System.Data.Common
Imports StateManagement.BL

Partial Class _Default
    Inherits System.Web.UI.Page

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        If Not Me.IsPostBack Then
            '1. TreeView (menu opbouwen)
            PopulateTreeview(TreeView1.Nodes)
        End If

        '2. Preferred Theme instellen op basis van een cookie
        'SetThemeByCookie()

    End Sub

    Private Sub PopulateTreeview(ByVal treeviewNodes As TreeNodeCollection)
        For Each category In Product.GetCategories()
            Dim treenode As New TreeNode
            treenode.Text = Server.HtmlEncode(category)
            treenode.Value = category
            treeviewNodes.Add(treenode)
            Me.PopulateSubLevel(treenode)
        Next
    End Sub

    Private Sub PopulateSubLevel(ByVal treenode As TreeNode)
        For Each prod As Product In Product.GetProducts(treenode.Text)
            Dim tn As New TreeNode
            tn.Text = Server.HtmlEncode(prod.Name)
            tn.Value = prod.ProductID
            treenode.ChildNodes.Add(tn)
        Next
    End Sub

    Protected Sub TreeView1_SelectedNodeChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles TreeView1.SelectedNodeChanged
        viewProduct.ProductID = CType(sender, TreeView).SelectedValue
    End Sub


    Protected Sub Page_PreInit(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.PreInit
        Dim cookie As HttpCookie = Me.Request.Cookies("Theme")
        If Not cookie Is Nothing Then
            Dim Theme As String = cookie.Value
            ddlTheme.Items.FindByValue(Theme).Selected = True
            Page.Theme = Theme
        Else
            Page.Theme = "ThemeDark"
            ddlTheme.Items.FindByValue("ThemeDark").Selected = True
        End If
    End Sub


    Protected Sub ddlTheme_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ddlTheme.SelectedIndexChanged
        Dim cookie As New HttpCookie("Theme", ddlTheme.SelectedValue)
        cookie.Expires = Date.Now.AddMinutes(5.0)
        Response.Cookies.Add(cookie)
        Response.Redirect(Request.Url.ToString)
    End Sub
End Class
Default (enkel via TreeView data tonen) (codebehind) | Labo4
Imports System.Data.SqlClient
Imports System.Data.Common
Imports _2deEx_WT3_Labo04.bl

'in source TreeView plaatsen, in form ...

Public Class _Default
    Inherits System.Web.UI.Page

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        If Not Me.IsPostBack Then
            '1. TreeView (menu opbouwen)
            PopulateTreeview(TreeView1.Nodes)
        End If
    End Sub

    Private Sub PopulateTreeview(ByVal treeviewNodes As TreeNodeCollection)
        For Each category In Product.GetCategories()
            Dim treenode As New TreeNode
            treenode.Text = Server.HtmlEncode(category)
            treenode.Value = category
            treeviewNodes.Add(treenode)
            Me.PopulateSubLevel(treenode)
        Next
    End Sub

    Private Sub PopulateSubLevel(ByVal treenode As TreeNode)
        For Each prod As Product In Product.GetProducts(treenode.Text)
            Dim tn As New TreeNode
            tn.Text = Server.HtmlEncode(prod.Name)
            tn.Value = prod.ProductID
            treenode.ChildNodes.Add(tn)
        Next
    End Sub

End Class