skip navigation
  • Product Bundles

    DevCraft

    All Telerik .NET tools and Kendo UI JavaScript components in one package. Now enhanced with:

    • AI Coding Assistants
    • Embedded Reporting
    • Document Processing Libraries
    • SSO Account Sign-in

    Web

    Kendo UI UI for Angular UI for Vue UI for jQuery KendoReact UI for Blazor UI for ASP.NET Core UI for ASP.NET MVC UI for ASP.NET AJAX

    Mobile

    UI for .NET MAUI

    Document Management

    Telerik Document Processing

    Desktop

    UI for .NET MAUI UI for WinUI UI for WinForms UI for WPF

    Reporting

    Telerik Reporting Telerik Report Server

    Testing & Mocking

    Test Studio Telerik JustMock

    CMS

    Sitefinity

    AI Productivity Tools

    AI Coding Assistants

    UI/UX Tools

    ThemeBuilder Design System Kit Templates and Building Blocks

    Debugging

    Fiddler Fiddler Everywhere Fiddler Classic Fiddler Everywhere Reporter FiddlerCore

    Free Tools

    KendoReact Free VB.NET to C# Converter Testing Framework
    View all products
  • Overview
  • Demos
    • What's New
    • Roadmap
    • Release History
  • Support and Learning

    • Support and Learning Hub
    • First Steps
    • Docs
    • Demos
    • Virtual Classroom
    • Forums
    • Videos
    • Blogs
    • Accessibility
    • Submit a Ticket

    Productivity and Design Tools

    • Visual Studio Extensions
    • Visual Studio Templates
    • Embedded Reporting
  • Pricing
  • Shopping cart
    • Account Overview
    • Your Licenses
    • Downloads
    • Support Center
    • Forum Profile
    • Payment Methods
    • Edit Profile
    • Log out
  • Login
  • Contact Us
  • Try now

Class RadItemsControl

Provides an abstract base class for RadControls that manage collections of RadItem objects, offering item selection, event handling, and collection management capabilities.

Inheritance
System.Object
RadControl
RadItemsControl
RadMenu
Inherited Members
RadControl.isResizing2
RadControl.isDisposing2
RadControl.invalidResizeRect
RadControl.isAccessibilityRequested
RadControl.Dispose(Boolean)
RadControl.Construct()
RadControl.CreateBehavior()
RadControl.CreateRootElement()
RadControl.CreateChildItems(RadElement)
RadControl.InitializeRootElement(RootRadElement)
RadControl.LoadElementTree()
RadControl.LoadElementTree(Size)
RadControl.SetIsInitializing(Boolean)
RadControl.ShouldSerializeBackColor()
RadControl.SetBackColorThemeOverrides()
RadControl.ResetBackColorThemeOverrides()
RadControl.ShouldSerializeForeColor()
RadControl.SetForeColorThemeOverrides()
RadControl.ResetForeColorThemeOverrides()
RadControl.ShouldSerializeFont()
RadControl.OnKeyDown(KeyEventArgs)
RadControl.OnKeyUp(KeyEventArgs)
RadControl.OnPreviewKeyDown(PreviewKeyDownEventArgs)
RadControl.OnKeyPress(KeyPressEventArgs)
RadControl.OnClick(EventArgs)
RadControl.OnDoubleClick(EventArgs)
RadControl.OnMouseDown(MouseEventArgs)
RadControl.OnMouseUp(MouseEventArgs)
RadControl.OnMouseEnter(EventArgs)
RadControl.OnMouseLeave(EventArgs)
RadControl.OnMouseMove(MouseEventArgs)
RadControl.OnMouseHover(EventArgs)
RadControl.OnMouseWheel(MouseEventArgs)
RadControl.OnMouseCaptureChanged(EventArgs)
RadControl.OnLostFocus(EventArgs)
RadControl.OnCreateControl()
RadControl.OnHandleDestroyed(EventArgs)
RadControl.OnParentChanged(EventArgs)
RadControl.OnVisibleChanged(EventArgs)
RadControl.OnFontChanged(EventArgs)
RadControl.OnForeColorChanged(EventArgs)
RadControl.OnBackColorChanged(EventArgs)
RadControl.OnEnabledChanged(EventArgs)
RadControl.OnBindingContextChanged(EventArgs)
RadControl.OnLocationChanged(EventArgs)
RadControl.OnPaddingChanged(EventArgs)
RadControl.OnRightToLeftChanged(EventArgs)
RadControl.OnPaint(PaintEventArgs)
RadControl.OnLayout(LayoutEventArgs)
RadControl.OnAutoSizeChanged(EventArgs)
RadControl.WndProc(Message)
RadControl.OnInvalidated(RadElement)
RadControl.OnLoad(Size)
RadControl.OnCaptureLosing()
RadControl.OnThemeChanged()
RadControl.OnToolTipTextNeeded(Object, ToolTipTextNeededEventArgs)
RadControl.OnScreenTipNeeded(Object, ScreenTipNeededEventArgs)
RadControl.OnThemeNameChanged(ThemeNameChangedEventArgs)
RadControl.ProcessMnemonic(Char)
RadControl.ProcessFocusRequested(RadElement)
RadControl.ProcessCaptureChangeRequested(RadElement, Boolean)
RadControl.ProcessAutoSizeChanged(Boolean)
RadControl.CallOnMouseCaptureChanged(EventArgs)
RadControl.CallBaseOnGotFocus(EventArgs)
RadControl.CallBaseOnLostFocus(EventArgs)
RadControl.CallOnToolTipTextNeeded(Object, ToolTipTextNeededEventArgs)
RadControl.CallOnScreenTipNeeded(Object, ScreenTipNeededEventArgs)
RadControl.CallOnMouseUp(MouseEventArgs)
RadControl.CallOnMouseDown(MouseEventArgs)
RadControl.CallOnClick(EventArgs)
RadControl.CallOnDoubleClick(EventArgs)
RadControl.CallOnMouseEnter(EventArgs)
RadControl.CallOnMouseWheel(MouseEventArgs)
RadControl.CallOnMouseLeave(EventArgs)
RadControl.CallOnMouseMove(MouseEventArgs)
RadControl.CallOnMouseHover(EventArgs)
RadControl.CallOnPreviewKeyDown(PreviewKeyDownEventArgs)
RadControl.CallBaseOnKeyDown(KeyEventArgs)
RadControl.CallOnKeyDown(KeyEventArgs)
RadControl.CallBaseOnKeyPress(KeyPressEventArgs)
RadControl.CallOnKeyPress(KeyPressEventArgs)
RadControl.IsInputKey(Keys)
RadControl.CallBaseOnKeyUp(KeyEventArgs)
RadControl.CallOnKeyUp(KeyEventArgs)
RadControl.CallOnThemeNameChanged(ThemeNameChangedEventArgs)
RadControl.CallOnVisibleChanged(EventArgs)
RadControl.BeginInit()
RadControl.EndInit()
RadControl.OnNotifyPropertyChanged(String)
RadControl.OnNotifyPropertyChanged(PropertyChangedEventArgs)
RadControl.IComponentTreeHandler.GetShowFocusCues()
RadControl.IComponentTreeHandler.CreateRootElement()
RadControl.IComponentTreeHandler.CreateChildItems(RadElement)
RadControl.IComponentTreeHandler.InitializeRootElement(RootRadElement)
RadControl.IComponentTreeHandler.InvalidateElement(RadElement)
RadControl.IComponentTreeHandler.InvalidateElement(RadElement, Rectangle)
RadControl.IComponentTreeHandler.InvalidateIfNotSuspended()
RadControl.IComponentTreeHandler.GetAmbientPropertyValue(RadProperty)
RadControl.IComponentTreeHandler.ControlThemeChangedCallback()
RadControl.IComponentTreeHandler.OnAmbientPropertyChanged(RadProperty)
RadControl.IComponentTreeHandler.OnFocusRequested(RadElement)
RadControl.IComponentTreeHandler.OnCaptureChangeRequested(RadElement, Boolean)
RadControl.IComponentTreeHandler.OnDisplayPropertyChanged(RadPropertyChangedEventArgs)
RadControl.IComponentTreeHandler.CallOnThemeNameChanged(ThemeNameChangedEventArgs)
RadControl.IComponentTreeHandler.CallOnMouseCaptureChanged(EventArgs)
RadControl.IComponentTreeHandler.CallOnToolTipTextNeeded(Object, ToolTipTextNeededEventArgs)
RadControl.IComponentTreeHandler.CallOnScreenTipNeeded(Object, ScreenTipNeededEventArgs)
RadControl.GetPreferredSize(Size)
RadControl.SetBoundsCore(Int32, Int32, Int32, Int32, BoundsSpecified)
RadControl.GetRootElementDesiredSize(Int32, Int32, Int32, Int32)
RadControl.OnZoomGesture(ZoomGestureEventArgs)
RadControl.OnRotateGesture(RotateGestureEventArgs)
RadControl.OnPanGesture(PanGestureEventArgs)
RadControl.OnTwoFingerTapGesture(GestureEventArgs)
RadControl.OnPressAndTapGesture(PressAndTapGestureEventArgs)
RadControl.OnGesture(GestureEventArgs)
RadControl.ProcessGesture(Message)
RadControl.EnableGesture(GestureType)
RadControl.DisableGesture(GestureType)
RadControl.Refresh()
RadControl.SuspendUpdate()
RadControl.ResumeUpdate()
RadControl.ResumeUpdate(Boolean)
RadControl.InvokeLayoutCallback(LayoutCallback)
RadControl.RegisterHostedControl(RadHostItem)
RadControl.UnregisterHostedControl(RadHostItem, Boolean)
RadControl.ControlDefinesThemeForElement(RadElement)
RadControl.ResolveStyleGroupForElement(StyleGroup, RadObject)
RadControl.GetPlainText()
RadControl.CanEditUIElement(RadElement)
RadControl.GetChildAt(Int32)
RadControl.ShouldSerializeProperty(RadProperty)
RadControl.ShouldSerializeProperty(RadProperty, RadObject)
RadControl.ResetProperty(RadProperty, RadObject)
RadControl.CanEditElementAtDesignTime(RadElement)
RadControl.GetControlDefaultSize()
RadControl.GetDpiScaledSize(Size)
RadControl.GetDpiScaledSize(SizeF)
RadControl.ProcessCodedUIMessage(IPCMessage)
RadControl.FindPropertyInChildren(RadControl, IPCMessage)
RadControl.CallAccessibilityNotifyClients(AccessibleEvents, Int32)
RadControl.IPCHost.ProcessMessage(IPCMessage)
RadControl.ScaleControl(SizeF, BoundsSpecified)
RadControl.PerformRadAutoScale(Nullable<BoundsSpecified>)
RadControl.SetRadAutoScale(Boolean)
RadControl.IComponentTreeHandler.get_Name()
RadControl.IComponentTreeHandler.set_Name(String)
RadControl.EnableDpiScaling
RadControl.EnableRadAutoScale
RadControl.EnableRadFormInitialDpiScaling
RadControl.EnableImageDpiScaling
RadControl.EnableSvgImages
RadControl.IsTrial
RadControl.IsLoaded
RadControl.LayoutManager
RadControl.ElementTree
RadControl.UseCompatibleTextRenderingDefaultValue
RadControl.Behavior
RadControl.RootElement
RadControl.Padding
RadControl.ThemeName
RadControl.Text
RadControl.EnableTheming
RadControl.ThemeClassName
RadControl.ImageList
RadControl.ImageScalingSize
RadControl.UseCompatibleTextRendering
RadControl.AutoSize
RadControl.MaximumSize
RadControl.MinimumSize
RadControl.Focusable
RadControl.Site
RadControl.CausesValidation
RadControl.IsInitializing
RadControl.SmallImageList
RadControl.SmallImageScalingSize
RadControl.IsDesignMode
RadControl.IsDisplayed
RadControl.FocusedElement
RadControl.AllowShowFocusCues
RadControl.ShowItemToolTips
RadControl.CommandBindings
RadControl.EnableKeyMap
RadControl.BackColor
RadControl.ForeColor
RadControl.Font
RadControl.ValidationCancel
RadControl.IComponentTreeHandler.IsDesignMode
RadControl.IComponentTreeHandler.ElementTree
RadControl.IComponentTreeHandler.Behavior
RadControl.IComponentTreeHandler.Initializing
RadControl.IComponentTreeHandler.ThemeClassName
RadControl.EnableGestures
RadControl.EnableAnalytics
RadControl.AnalyticsName
RadControl.EnableRadAccessibilityObjects
RadControl.AccessibilityRequested
RadControl.EnableCodedUITests
RadControl.EnableCodedUITestsDefaultValue
RadControl.EnableUIAutomation
RadControl.EnableUIAutomationDefaultValue
RadControl.IPCHost.Context
RadControl.ElementInvalidated
RadControl.ToolTipTextNeeded
RadControl.ScreenTipNeeded
RadControl.ThemeNameChanged
RadControl.Initialized
RadControl.PropertyChanged
RadControl.ZoomGesture
RadControl.RotateGesture
RadControl.PanGesture
RadControl.TwoFingerTapGesture
RadControl.PressAndTapGesture
Namespace: Telerik.WinControls
Assembly: Telerik.WinControls.dll

Syntax

public abstract class RadItemsControl : RadControl, INotifyPropertyChanged, ISupportInitializeNotification, ISupportInitialize, IComponentTreeHandler, ILayoutHandler, IPCHost, IAnalyticsProvider, IItemsControl
Remarks

RadItemsControl serves as the foundation for controls that work with collections of interactive items such as list boxes, combo boxes, menus, toolbars, and tree views. It provides a unified programming model for item-based controls through the IItemsControl interface.

The class manages item selection state through ItemSelected and ItemDeselected events, coordinates with implementation objects for specialized behavior, and provides infrastructure for item collection management. It delegates specific functionality to implementation classes while maintaining a consistent public interface.

Derived classes include RadListControl, RadComboBox, RadMenu, and other controls that need to manage collections of selectable or interactive items with consistent behavior patterns and event handling throughout the Telerik WinControls framework.

Constructors

RadItemsControl()

Initializes a new instance of the RadItemsControl class.

Declaration
public RadItemsControl()
Remarks

The constructor establishes the implementation pattern by creating an items control implementation object and wiring up the necessary event handlers for item selection and deselection events.

Properties

ActiveItems

Declaration
public virtual RadItemOwnerCollection ActiveItems { get; }
Property Value
RadItemOwnerCollection

Implements
IItemsControl.ActiveItems

HasKeyboardInput

Declaration
public virtual bool HasKeyboardInput { get; }
Property Value
System.Boolean

Items

Declaration
public abstract RadItemOwnerCollection Items { get; }
Property Value
RadItemOwnerCollection

Implements
IItemsControl.Items

ProcessKeyboard

Gets or sets whether the RadItemsControl processes the keyboard.

Declaration
public virtual bool ProcessKeyboard { get; set; }
Property Value
System.Boolean

Implements
IItemsControl.ProcessKeyboard

RollOverItemSelection

Gets or sets whether the rollover items functionality of the RadItemsControl will be allowed.

Declaration
public virtual bool RollOverItemSelection { get; set; }
Property Value
System.Boolean

Implements
IItemsControl.RollOverItemSelection

Methods

CallBaseProcessDialogKey(Keys)

Declaration
protected virtual bool CallBaseProcessDialogKey(Keys keyData)
Parameters
System.Windows.Forms.Keys keyData

Returns
System.Boolean

CallOnItemDeselected(ItemSelectedEventArgs)

Declaration
public void CallOnItemDeselected(ItemSelectedEventArgs args)
Parameters
ItemSelectedEventArgs args

CanNavigate(Keys)

Declaration
public virtual bool CanNavigate(Keys keyData)
Parameters
System.Windows.Forms.Keys keyData

Returns
System.Boolean

Implements
IItemsControl.CanNavigate(Keys)

CanProcessMnemonic(Char)

Declaration
public virtual bool CanProcessMnemonic(char keyData)
Parameters
System.Char keyData

Returns
System.Boolean

Implements
IItemsControl.CanProcessMnemonic(Char)

ChangeSelection(RadItem)

Declaration
protected virtual void ChangeSelection(RadItem nextItem)
Parameters
RadItem nextItem

GetChildMnemonicList(ArrayList)

Declaration
protected virtual void GetChildMnemonicList(ArrayList mnemonicList)
Parameters
System.Collections.ArrayList mnemonicList

GetFirstVisibleItem()

Declaration
public virtual RadItem GetFirstVisibleItem()
Returns
RadItem

Implements
IItemsControl.GetFirstVisibleItem()

GetInputElement()

Declaration
protected override RadElement GetInputElement()
Returns
RadElement

Overrides
RadControl.GetInputElement()

GetItemsControlImpl()

When overridden in a derived class, creates and returns the implementation object that provides the specific behavior for this items control.

Declaration
protected virtual IItemsControl GetItemsControlImpl()
Returns
IItemsControl

An IItemsControl implementation that handles the specific behavior for this control type.

Remarks

This factory method allows derived classes to specify their own implementation objects while maintaining the common RadItemsControl interface and event handling patterns. The default implementation returns a RadItemsControlImpl instance.

GetLastVisibleItem()

Declaration
public virtual RadItem GetLastVisibleItem()
Returns
RadItem

Implements
IItemsControl.GetLastVisibleItem()

GetNextItem(RadItem, Boolean)

Declaration
public virtual RadItem GetNextItem(RadItem item, bool forward)
Parameters
RadItem item

System.Boolean forward

Returns
RadItem

Implements
IItemsControl.GetNextItem(RadItem, Boolean)

GetSelectedItem()

Declaration
public virtual RadItem GetSelectedItem()
Returns
RadItem

Implements
IItemsControl.GetSelectedItem()

OnGotFocus(EventArgs)

Declaration
protected override void OnGotFocus(EventArgs e)
Parameters
System.EventArgs e

Overrides
RadControl.OnGotFocus(EventArgs)

OnHandleKeyDown(Message)

Declaration
protected virtual bool OnHandleKeyDown(Message m)
Parameters
System.Windows.Forms.Message m

Returns
System.Boolean

OnItemDeselected(ItemSelectedEventArgs)

Declaration
protected virtual void OnItemDeselected(ItemSelectedEventArgs args)
Parameters
ItemSelectedEventArgs args

OnItemSelected(ItemSelectedEventArgs)

Declaration
protected virtual void OnItemSelected(ItemSelectedEventArgs args)
Parameters
ItemSelectedEventArgs args

ProcessArrowKey(Keys)

Declaration
protected virtual bool ProcessArrowKey(Keys keyCode)
Parameters
System.Windows.Forms.Keys keyCode

Returns
System.Boolean

ProcessCmdKey(ref Message, Keys)

Declaration
protected override bool ProcessCmdKey(ref Message m, Keys keyData)
Parameters
System.Windows.Forms.Message m

System.Windows.Forms.Keys keyData

Returns
System.Boolean

ProcessDialogKey(Keys)

Declaration
protected override bool ProcessDialogKey(Keys keyData)
Parameters
System.Windows.Forms.Keys keyData

Returns
System.Boolean

ProcessLeftRightArrowKey(Boolean)

Declaration
protected virtual bool ProcessLeftRightArrowKey(bool right)
Parameters
System.Boolean right

Returns
System.Boolean

ProcessTabKey(Boolean)

Declaration
protected virtual bool ProcessTabKey(bool forward)
Parameters
System.Boolean forward

Returns
System.Boolean

ProcessUpDownArrowKey(Boolean)

Declaration
protected virtual bool ProcessUpDownArrowKey(bool down)
Parameters
System.Boolean down

Returns
System.Boolean

Select(Boolean, Boolean)

Declaration
protected override void Select(bool directed, bool forward)
Parameters
System.Boolean directed

System.Boolean forward

SelectFirstVisibleItem()

Declaration
public virtual RadItem SelectFirstVisibleItem()
Returns
RadItem

Implements
IItemsControl.SelectFirstVisibleItem()

SelectItem(RadItem)

Declaration
public virtual void SelectItem(RadItem item)
Parameters
RadItem item

Implements
IItemsControl.SelectItem(RadItem)

SelectLastVisibleItem()

Declaration
public virtual RadItem SelectLastVisibleItem()
Returns
RadItem

Implements
IItemsControl.SelectLastVisibleItem()

SelectNextItem(RadItem, Boolean)

Declaration
public virtual RadItem SelectNextItem(RadItem item, bool forward)
Parameters
RadItem item

System.Boolean forward

Returns
RadItem

Implements
IItemsControl.SelectNextItem(RadItem, Boolean)

Events

ItemDeselected

Occurs when an item becomes deselected in the control.

Declaration
public event ItemSelectedEventHandler ItemDeselected
Event Type
ItemSelectedEventHandler

Implements
IItemsControl.ItemDeselected
Remarks

This event is raised whenever an item transitions from a selected to an unselected state, providing notification of deselection changes to enable cleanup operations and user interface state management.

ItemSelected

Occurs when an item becomes selected in the control.

Declaration
public event ItemSelectedEventHandler ItemSelected
Event Type
ItemSelectedEventHandler

Implements
IItemsControl.ItemSelected
Remarks

This event is raised whenever an item transitions from an unselected to a selected state, providing notification of selection changes to enable responsive user interface updates and business logic execution.

Extension Methods

SvgExtentions.Traverse<T>(T, Func<T, IEnumerable<T>>)
SvgExtentions.TraverseDepthFirst<T>(T, Func<T, IEnumerable<T>>)
Getting Started
  • Install Now
  • Demos
  • Step-by-Step Tutorial
  • Sample Applications
  • SDK Samples
  • Visual Studio Extensions
Support Resources
  • Code Library
  • Knowledge Base
  • Videos
Community
  • Forums
  • Blogs
  • Feedback Portal
  • Document Processing Feedback Portal

Copyright © 2018 Progress Software Corporation and/or its subsidiaries or affiliates.
All Rights Reserved.

Progress, Telerik, and certain product names used herein are trademarks or registered trademarks of Progress Software Corporation and/or one of its subsidiaries or affiliates in the U.S. and/or other countries. See Trademarks for appropriate markings.