New to Telerik UI for WinFormsStart a free 30-day trial

Manages behavioral aspects of RadControl components including input handling, element selection, keyboard navigation, tooltips, and visual feedback mechanisms.

Definition

Namespace:Telerik.WinControls

Assembly:Telerik.WinControls.dll

Syntax:

C#
public class ComponentBehavior : IDisposable

Inheritance: objectComponentBehavior

Derived Classes: ComponentInputBehavior

Implements: IDisposable

Constructors

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

C#
public ComponentBehavior(IComponentTreeHandler owner)
Parameters:ownerIComponentTreeHandler

The IComponentTreeHandler that owns this behavior instance.

Remarks:

The constructor establishes the relationship between the behavior manager and its owner component, enabling the behavior to manage input, focus, and visual state for the associated control and its element tree.

Fields

C#
protected bool ItemCaptureState

Properties

Indicates focus cues display, when available, based on the corresponding control type and the current UI state.

C#
public virtual bool AllowShowFocusCues { get; set; }
C#
public FillRepository BitmapRepository { get; }
C#
[TypeConverter(typeof(ExpandableObjectConverter))]
public InputBindingsCollection CommandBindings { get; }
C#
protected virtual bool DefaultShowItemToolTips { get; }

Gets or sets whether Key Map (Office 2007 like accelerator keys map) is used for this specific control. Currently this option is implemented for the RadRibbonBar control only.

C#
[Browsable(true)]
public bool EnableKeyMap { get; set; }

Gets or sets the currently focused RadElement within the component tree.

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

The RadElement that currently has input focus, or null if no element is focused.

Remarks:

Setting this property to a specific element will give focus to that element and remove focus from any previously focused element. Setting it to null will remove focus from the currently focused element. This property coordinates with the focus management system to ensure proper focus state handling throughout the element tree.

Gets whether this instance of RadControl is on a active form

C#
protected bool IsParentFormActive { get; }

Determines whether the mouse over the owning IComponentTreeHandler instance.

C#
public bool MouseOver { get; }
C#
protected IComponentTreeHandler Owner { get; }
C#
[Browsable(false)]
protected Control OwnerControl { get; }

Gets the current selected element (hovered by the mouse).

C#
[Browsable(false)]
public RadElement SelectedElement { get; }

Gets or sets a value indicating whether ToolTips are shown for the RadItem objects contained in the RadControl.

C#
public bool ShowItemToolTips { get; set; }

Gets or sets value indicating whether the control should show all screen tips under the control client rectangle, as required for the RibbonBar control, for example

C#
public bool ShowScreenTipsBellowControl { get; set; }

Gets the ToolTip instance used to display element tooltips within the component.

C#
public ToolTip ToolTip { get; }
Property Value:

A ToolTip instance that handles tooltip display for elements within the component tree. The property creates a RadToolTip instance on first access if one doesn't already exist.

Remarks:

The tooltip is lazily created when first accessed. If the component has a valid element tree with a root element, a RadToolTip is created with that root element as context. Otherwise, a default RadToolTip instance is created.

This tooltip is used throughout the component to display contextual help text for elements that have their ToolTipText property set.

Gets or sets the value of how much the tooltip will be moved on the X coordinate

C#
public int ToolTipOffsetX { get; set; }

Gets or sets the value of how much the tooltip will be moved on the Y coordinate

C#
public int ToolTipOffsetY { get; set; }

Methods

C#
protected virtual bool ActivateSelectedItem(RadItem currentKeyMapItem)
Parameters:currentKeyMapItemRadItemReturns:

bool

Releases all resources used by the ComponentBehavior instance.

C#
public void Dispose()

Implements: IDisposable.Dispose()

Remarks:

This method cleans up managed resources including element references, keyboard mappings, tooltips, screen tip presenters, and shortcut collections. It follows the standard .NET disposal pattern and suppresses finalization.

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

Clears all resources reserved for the KeyTips functionality

C#
protected virtual void DisposeKeyTips()
C#
protected RadItem GetActivatedItem(Control control, char charCode)
Parameters:controlControlcharCodecharReturns:

RadItem

C#
protected RadItem GetActivatedItem(RadElement element, char charCode)
Parameters:elementRadElementcharCodecharReturns:

RadItem

C#
public virtual List<RadItem> GetCurrentKeyMap(RadItem currentKeyMapItem)
Parameters:currentKeyMapItemRadItemReturns:

List<RadItem>

C#
protected virtual List<RadItem> GetKeyFocusChildren(RadItem currentKeyMapItem)
Parameters:currentKeyMapItemRadItemReturns:

List<RadItem>

C#
protected bool GetKeyMapFocus()
Returns:

bool

C#
protected virtual string GetKeyStringRepresentation(Keys input)
Parameters:inputKeysReturns:

string

C#
protected virtual string GetMnemonicText(string text)
Parameters:textstringReturns:

string

C#
protected virtual List<RadItem> GetRootItems()
Returns:

List<RadItem>

C#
protected virtual void GetThemedChildControlsList(Control control, List<Control> mnemonicList)
Parameters:controlControlmnemonicListList<Control>
C#
protected virtual Control GetValidChildControlByMnemonic(List<Control> mnemonicList, char charCode)
Parameters:mnemonicListList<Control>charCodecharReturns:

Control

C#
public void HideScreenTip()
C#
protected virtual void InitializeAdornerLayer()
C#
protected virtual void InitializeKeyMap()
C#
protected virtual bool IsExactMatch(RadItem item, string keyTipFragment)
Parameters:itemRadItemkeyTipFragmentstringReturns:

bool

Checks is a given element or any of its descendants contain the focus.

C#
public bool IsFocusWithin(RadElement element)
Parameters:elementRadElement

The element.

Returns:

bool

[true] if the element or any of its children contain focus, [false] otherwise.

C#
protected virtual int IsIndexOfItemKeyTip(RadItem item, string keyTipFragment)
Parameters:itemRadItemkeyTipFragmentstringReturns:

int

C#
protected virtual bool IsPartOfKeyTip(Keys input, string representation)
Parameters:inputKeysrepresentationstringReturns:

bool

C#
protected virtual void OnEnableKeyTipsChanged()

Handles the event that occurs when the control receives focus, restoring focus to the last focused element.

C#
public virtual bool OnGotFocus(EventArgs e)
Parameters:eEventArgs

An EventArgs that contains the event data.

Returns:

bool

true if the event is handled; otherwise, false.

Remarks:

This method is called when the owner control gains focus. It attempts to restore focus to the element that was previously focused before the control lost focus, maintaining focus continuity for improved user experience.

If a last focused element exists and is not disposed, it becomes the current focused element and receives input focus. The last focused element reference is then cleared.

Handles the event that occurs when the control loses focus, preserving the focus state for later restoration.

C#
public virtual bool OnLostFocus(EventArgs e)
Parameters:eEventArgs

An EventArgs that contains the event data.

Returns:

bool

true if the event is handled; otherwise, false.

Remarks:

This method is called when the owner control loses focus. It removes focus from the currently focused element and stores a reference to it for later restoration when the control regains focus.

Additionally, if keyboard mapping (key tips) is active, this method resets the key map state to ensure proper cleanup when focus is lost.

C#
protected bool ProcessMnemonic(char charCode)
Parameters:charCodecharReturns:

bool

C#
protected virtual bool ProcessMnemonicChar(char charCode)
Parameters:charCodecharReturns:

bool

C#
protected virtual int ProcessUnmappedItems(List<RadItem> childrenToBeMapped)
Parameters:childrenToBeMappedList<RadItem>Returns:

int

C#
protected virtual void ResetKeyMap()
C#
protected virtual void ResetKeyMapInternal()
C#
protected bool ReturnKeyMapFocus()
Returns:

bool

C#
public void SetElementValue(RadElement element, RadProperty dependencyProperty, object value)
Parameters:elementRadElementdependencyPropertyRadPropertyvalueobject
C#
protected virtual bool SetInternalKeyMapFocus()
Returns:

bool

C#
public virtual bool SetKeyMap()
Returns:

bool