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
|