Class ComponentInputBehavior
Extends ComponentBehavior to provide comprehensive input handling capabilities including mouse, keyboard, and gesture input processing for RadControl components.
Inherited Members
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
|
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
|
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
GetHoveredRadElement()
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)
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
|