New to Telerik UI for WinForms? Start a free 30-day trial

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

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.

Definition

Namespace:Telerik.WinControls

Assembly:Telerik.WinControls.dll

Syntax:

C#
public class ComponentInputBehavior : ComponentBehavior, IDisposable

Inheritance: objectComponentBehaviorComponentInputBehavior

Derived Classes: RadSpreadsheetComponentInputBehaviorRadRibbonBar.RibbonBarInputBehaviorRadRibbonBarBackstageView.RibbonBackstageViewInputBehaviorRadRichTextEditorComponentInputBehaviorRadSyntaxEditorComponentInputBehavior

Implements: IDisposable

Inherited Members ComponentBehavior.ItemCaptureStateComponentBehavior.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.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.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.FocusedElementComponentBehavior.AllowShowFocusCuesComponentBehavior.ToolTipComponentBehavior.ToolTipOffsetYComponentBehavior.ToolTipOffsetXComponentBehavior.DefaultShowItemToolTipsComponentBehavior.ShowItemToolTipsComponentBehavior.ShowScreenTipsBellowControlComponentBehavior.CommandBindingsComponentBehavior.IsParentFormActiveComponentBehavior.EnableKeyMapComponentBehavior.MouseOverComponentBehavior.OwnerComponentBehavior.OwnerControlComponentBehavior.SelectedElementComponentBehavior.BitmapRepository...

Constructors

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

C#
public ComponentInputBehavior(IComponentTreeHandler owner)
Parameters:ownerIComponentTreeHandler

The IComponentTreeHandler that owns this input behavior instance.

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

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

C#
[Browsable(false)]
public bool Enable { get; set; }
Property Value:

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

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.

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

C#
protected MouseHoverTimer MouseHoverTimer { get; }
Property Value:

A MouseHoverTimer instance used for hover detection and timing.

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

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

Overrides: ComponentBehavior.Dispose(bool)

C#
public RadElement GetHoveredRadElement()
Returns:

RadElement

C#
protected void HandleMouseLeave(EventArgs e, RadElement elementUnderMouse)
Parameters:eEventArgselementUnderMouseRadElement
C#
protected void HandleMouseLeave(EventArgs e)
Parameters:eEventArgs
C#
public virtual bool OnClick(EventArgs e)
Parameters:eEventArgsReturns:

bool

C#
public virtual bool OnDoubleClick(EventArgs e)
Parameters:eEventArgsReturns:

bool

C#
protected virtual void OnGesture(GestureEventArgs e)
Parameters:eGestureEventArgs
C#
protected virtual void OnHoveredElementChanged(HoveredElementChangedEventArgs e)
Parameters:eHoveredElementChangedEventArgs
C#
public virtual void OnMouseCaptureChanged(EventArgs e)
Parameters:eEventArgs
C#
public virtual bool OnMouseDown(MouseEventArgs e)
Parameters:eMouseEventArgsReturns:

bool

C#
public virtual bool OnMouseEnter(EventArgs e)
Parameters:eEventArgsReturns:

bool

C#
public virtual bool OnMouseHover(EventArgs e)
Parameters:eEventArgsReturns:

bool

C#
public virtual bool OnMouseLeave(EventArgs e)
Parameters:eEventArgsReturns:

bool

C#
public virtual bool OnMouseMove(MouseEventArgs e)
Parameters:eMouseEventArgsReturns:

bool

C#
public virtual bool OnMouseUp(MouseEventArgs e)
Parameters:eMouseEventArgsReturns:

bool

C#
public virtual bool OnMouseWheel(MouseEventArgs e)
Parameters:eMouseEventArgsReturns:

bool

Events

Fires when hovered element is changed.

C#
public event HoveredElementChangedEventHandler HoveredElementChanged