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 ComponentInputBehavior

Extends ComponentBehavior to provide comprehensive input handling capabilities including mouse, keyboard, and gesture input processing for RadControl components.

Inheritance
System.Object
ComponentBehavior
ComponentInputBehavior
RadSpreadsheetComponentInputBehavior
RadRibbonBar.RibbonBarInputBehavior
RadRibbonBarBackstageView.RibbonBackstageViewInputBehavior
RadRichTextEditorComponentInputBehavior
RadSyntaxEditorComponentInputBehavior
Inherited Members
ComponentBehavior.ItemCaptureState
ComponentBehavior.Dispose()
ComponentBehavior.GetActivatedItem(Control, Char)
ComponentBehavior.GetActivatedItem(RadElement, Char)
ComponentBehavior.ProcessMnemonic(Char)
ComponentBehavior.GetThemedChildControlsList(Control, List<Control>)
ComponentBehavior.GetValidChildControlByMnemonic(List<Control>, Char)
ComponentBehavior.GetMnemonicText(String)
ComponentBehavior.ProcessMnemonicChar(Char)
ComponentBehavior.OnGotFocus(EventArgs)
ComponentBehavior.OnLostFocus(EventArgs)
ComponentBehavior.IsFocusWithin(RadElement)
ComponentBehavior.SetElementValue(RadElement, RadProperty, Object)
ComponentBehavior.FindFormInternal(Control)
ComponentBehavior.HideScreenTip()
ComponentBehavior.DisposeKeyTips()
ComponentBehavior.SetKeyMap()
ComponentBehavior.InitializeKeyMap()
ComponentBehavior.ResetKeyMap()
ComponentBehavior.ResetKeyMapInternal()
ComponentBehavior.GetKeyMapFocus()
ComponentBehavior.SetInternalKeyMapFocus()
ComponentBehavior.ReturnKeyMapFocus()
ComponentBehavior.OnEnableKeyTipsChanged()
ComponentBehavior.InitializeAdornerLayer()
ComponentBehavior.DisposeAdornerLayer()
ComponentBehavior.GetRootItems()
ComponentBehavior.ProccessKeyMap(Keys)
ComponentBehavior.ActivateKeyTipItem(Keys, String)
ComponentBehavior.ActivateSelectedItem(RadItem)
ComponentBehavior.ProcessUnmappedItems(List<RadItem>)
ComponentBehavior.IsIndexOfItemKeyTip(RadItem, String)
ComponentBehavior.IsExactMatch(RadItem, String)
ComponentBehavior.IsPartOfKeyTip(Keys, String)
ComponentBehavior.GetCurrentKeyMap(RadItem)
ComponentBehavior.GetKeyFocusChildren(RadItem)
ComponentBehavior.GetKeyStringRepresentation(Keys)
ComponentBehavior.FocusedElement
ComponentBehavior.LastFocusedElement
ComponentBehavior.CurrentFocusedElement
ComponentBehavior.AllowShowFocusCues
ComponentBehavior.ToolTip
ComponentBehavior.ToolTipOffsetY
ComponentBehavior.ToolTipOffsetX
ComponentBehavior.DefaultShowItemToolTips
ComponentBehavior.ShowItemToolTips
ComponentBehavior.ShowScreenTipsBellowControl
ComponentBehavior.CommandBindings
ComponentBehavior.Shortcuts
ComponentBehavior.ActiveKeyMapItem
ComponentBehavior.IsKeyMapActive
ComponentBehavior.IsParentFormActive
ComponentBehavior.EnableKeyMap
ComponentBehavior.EnableKeyTips
ComponentBehavior.MouseOver
ComponentBehavior.Owner
ComponentBehavior.OwnerControl
ComponentBehavior.ItemCapture
ComponentBehavior.SelectedElement
ComponentBehavior.BitmapRepository
System.Object.ToString()
System.Object.Equals(System.Object)
System.Object.Equals(System.Object, System.Object)
System.Object.ReferenceEquals(System.Object, System.Object)
System.Object.GetHashCode()
System.Object.GetType()
System.Object.MemberwiseClone()
Namespace: Telerik.WinControls
Assembly: Telerik.WinControls.dll

Syntax

public class ComponentInputBehavior : ComponentBehavior, IDisposable
Remarks

ComponentInputBehavior specializes in managing all forms of user input for RadControl instances, building upon the base ComponentBehavior functionality. It handles mouse events (clicks, movement, hovering), keyboard input, touch gestures, and coordinates these inputs with the RadElement tree to provide proper event routing and state management.

Key responsibilities include:

  • Mouse event routing and element hit testing
  • Element selection and pressed state management
  • Mouse capture and release handling
  • Hover detection and element monitoring
  • Keyboard input processing and routing
  • Touch and gesture input handling
  • Input state coordination across the element hierarchy

The class maintains various input-related states such as which elements are hovered, pressed, or have captured mouse input, ensuring proper visual feedback and interaction behavior throughout the control's element tree.

Constructors

ComponentInputBehavior(IComponentTreeHandler)

Initializes a new instance of the ComponentInputBehavior class for the specified component tree handler.

Declaration
public ComponentInputBehavior(IComponentTreeHandler owner)
Parameters
IComponentTreeHandler owner

The IComponentTreeHandler that owns this input behavior instance.

Remarks

The constructor calls the base ComponentBehavior constructor and initializes input-specific settings. By default, it enables item tooltips based on the ShowItemToolTips setting.

This constructor establishes the input handling system for the component, preparing it to process mouse, keyboard, and gesture input events and route them appropriately through the element tree.

Properties

DisableMouseEvents

Gets or sets a value indicating whether mouse events should be ignored by this component.

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

true if mouse events should be disabled; otherwise, false. The default is false.

Remarks

This property allows for selective disabling of mouse input while preserving other input types such as keyboard input. This can be useful in scenarios where mouse interaction needs to be temporarily suspended without affecting the entire input system.

Enable

Gets or sets a value indicating whether input processing is enabled for this component.

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

true if input events should be processed; otherwise, false. The default is true.

Remarks

When this property is set to false, the component will not process mouse, keyboard, or other input events. This can be useful for temporarily disabling interaction during certain operations or states.

MouseHoverTimer

Gets the mouse hover timer used to detect and handle mouse hover events.

Declaration
protected MouseHoverTimer MouseHoverTimer { get; }
Property Value
MouseHoverTimer

A MouseHoverTimer instance used for hover detection and timing.

Remarks

This timer is used internally to manage mouse hover detection, determining when the mouse has remained stationary over an element long enough to trigger hover-related events and visual feedback such as tooltips.

Methods

Dispose(Boolean)

Declaration
protected override void Dispose(bool disposing)
Parameters
System.Boolean disposing

Overrides
ComponentBehavior.Dispose(Boolean)

GetHoveredRadElement()

Declaration
public RadElement GetHoveredRadElement()
Returns
RadElement

HandleMouseLeave(EventArgs)

Declaration
protected void HandleMouseLeave(EventArgs e)
Parameters
System.EventArgs e

HandleMouseLeave(EventArgs, RadElement)

Declaration
protected void HandleMouseLeave(EventArgs e, RadElement elementUnderMouse)
Parameters
System.EventArgs e

RadElement elementUnderMouse

OnClick(EventArgs)

Declaration
public virtual bool OnClick(EventArgs e)
Parameters
System.EventArgs e

Returns
System.Boolean

OnDoubleClick(EventArgs)

Declaration
public virtual bool OnDoubleClick(EventArgs e)
Parameters
System.EventArgs e

Returns
System.Boolean

OnGesture(GestureEventArgs)

Declaration
protected virtual void OnGesture(GestureEventArgs e)
Parameters
GestureEventArgs e

OnHoveredElementChanged(HoveredElementChangedEventArgs)

Declaration
protected virtual void OnHoveredElementChanged(HoveredElementChangedEventArgs e)
Parameters
HoveredElementChangedEventArgs e

OnKeyDown(KeyEventArgs)

This method is used internally.

Declaration
public virtual bool OnKeyDown(KeyEventArgs e)
Parameters
System.Windows.Forms.KeyEventArgs e

Returns
System.Boolean

OnKeyDown(RadElement, KeyEventArgs)

This method is used internally.

Declaration
public virtual void OnKeyDown(RadElement routedSender, KeyEventArgs e)
Parameters
RadElement routedSender

System.Windows.Forms.KeyEventArgs e

OnKeyPress(KeyPressEventArgs)

This method is used internally.

Declaration
public virtual bool OnKeyPress(KeyPressEventArgs e)
Parameters
System.Windows.Forms.KeyPressEventArgs e

Returns
System.Boolean

OnKeyPress(RadElement, KeyPressEventArgs)

This method is used internally.

Declaration
public virtual void OnKeyPress(RadElement routedSender, KeyPressEventArgs e)
Parameters
RadElement routedSender

System.Windows.Forms.KeyPressEventArgs e

OnKeyUp(KeyEventArgs)

This method is used internally.

Declaration
public virtual bool OnKeyUp(KeyEventArgs e)
Parameters
System.Windows.Forms.KeyEventArgs e

Returns
System.Boolean

OnKeyUp(RadElement, KeyEventArgs)

This method is used internally.

Declaration
public virtual void OnKeyUp(RadElement routedSender, KeyEventArgs e)
Parameters
RadElement routedSender

System.Windows.Forms.KeyEventArgs e

OnMouseCaptureChanged(EventArgs)

Declaration
public virtual void OnMouseCaptureChanged(EventArgs e)
Parameters
System.EventArgs e

OnMouseDown(MouseEventArgs)

Declaration
public virtual bool OnMouseDown(MouseEventArgs e)
Parameters
System.Windows.Forms.MouseEventArgs e

Returns
System.Boolean

OnMouseEnter(EventArgs)

Declaration
public virtual bool OnMouseEnter(EventArgs e)
Parameters
System.EventArgs e

Returns
System.Boolean

OnMouseHover(EventArgs)

Declaration
public virtual bool OnMouseHover(EventArgs e)
Parameters
System.EventArgs e

Returns
System.Boolean

OnMouseLeave(EventArgs)

Declaration
public virtual bool OnMouseLeave(EventArgs e)
Parameters
System.EventArgs e

Returns
System.Boolean

OnMouseMove(MouseEventArgs)

Declaration
public virtual bool OnMouseMove(MouseEventArgs e)
Parameters
System.Windows.Forms.MouseEventArgs e

Returns
System.Boolean

OnMouseUp(MouseEventArgs)

Declaration
public virtual bool OnMouseUp(MouseEventArgs e)
Parameters
System.Windows.Forms.MouseEventArgs e

Returns
System.Boolean

OnMouseWheel(MouseEventArgs)

Declaration
public virtual bool OnMouseWheel(MouseEventArgs e)
Parameters
System.Windows.Forms.MouseEventArgs e

Returns
System.Boolean

OnPreviewKeyDown(PreviewKeyDownEventArgs)

This method is used internally.

Declaration
public virtual bool OnPreviewKeyDown(PreviewKeyDownEventArgs e)
Parameters
System.Windows.Forms.PreviewKeyDownEventArgs e

Returns
System.Boolean

Events

HoveredElementChanged

Fires when hovered element is changed.

Declaration
public event HoveredElementChangedEventHandler HoveredElementChanged
Event Type
HoveredElementChangedEventHandler

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.