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

UI Automation Support

Updated on Apr 9, 2026

With the Q1 2026 Minor version of our controls, RadForm supports UI Automation. The current implementation of UI Automation for RadForm is similar to the MS WinForms Window Control implementation with some extended functionality. The main goal of this implementation is to ensure compliance with accessibility standards and to provide a common practice for automated testing.

UIA Tree Structure
├─ RadForm
  └── TitleBarElement
     ├── ImagePrimitive (icon if non-empty)
     ├── TextPrimitive (caption text if non-empty)
     ├── ButtonItem (help button if visible)
     ├── ButtonItem (minimize button if visible)
     ├── ButtonItem (maximize button if visible)
     └── ButtonItem (close button if visible)

This functionality is enabled by default. To disable it, you can set the EnableUIAutomation property to false.

C#

this.radForm1.EnableUIAutomation = false;

form-ui-automation

Relevant Properties

The table below outlines the UI Automation properties most important for understanding and interacting with RadForm control.

RadForm

  • AutomationElementIdentifiers.BoundingRectangleProperty.Id => this.BoundingRectangle
  • AutomationElementIdentifiers.ControlTypeProperty.Id => ControlType.Window.Id
  • AutomationElementIdentifiers.LocalizedControlTypeProperty.Id => "window"
  • AutomationElementIdentifiers.HelpTextProperty.Id => this.Owner.AccessibleDescription
  • AutomationElementIdentifiers.IsContentElementProperty.Id => true
  • AutomationElementIdentifiers.IsControlElementProperty.Id => true
  • AutomationElementIdentifiers.IsKeyboardFocusableProperty.Id => true
  • AutomationElementIdentifiers.NameProperty.Id => Owner.AccessibleName if set, otherwise Owner.Text
  • AutomationElementIdentifiers.IsOffscreenProperty.Id
  • AutomationElementIdentifiers.ClickablePointProperty.Id => Horizontal center of the form, vertical center of the caption bar
  • AutomationElementIdentifiers.IsTransformPatternAvailableProperty.Id => true
  • AutomationElementIdentifiers.IsDockPatternAvailableProperty.Id => true (always — pattern resolves to null unless IsMdiChild)

Supported Control Patterns

The following section outlines the supported automation patterns for the RadForm control and its constituent elements.

Involved Classes

ClassNamespaceRole
RadFormUIAutomationProviderUIAutomation.WindowRoot UIA provider for RadForm — exposes window properties, patterns, navigation, and events
TitleBarElementUIAutomationProviderUIAutomation.TitleBarFragment provider exposed as the only UIA child of the form, representing RadFormElement.TitleBar
RadFormTransformProviderUIAutomation.Window.PatternsImplements ITransformProvider (TransformPattern) — exposes move and resize operations
RadFormDockProviderUIAutomation.Window.PatternsImplements IDockProvider (DockPattern) — exposes dock position for MDI child forms
TitleBarWindowProviderUIAutomation.TitleBar.PatternsImplements IWindowProvider (WindowPattern) — delegated through TitleBarElementUIAutomationProvider

RadForm exposes exactly one UIA child: TitleBarElementUIAutomationProvider.

  • Navigate(FirstChild) → returns TitleBarElementUIAutomationProvider
  • Navigate(LastChild) → returns TitleBarElementUIAutomationProvider
  • All other directions → handled by the base class