编辑控件类型

本主题提供有关 Microsoft UI 自动化对“编辑”控件类型的支持的信息。

Edit 控件使用户能够查看和编辑简单文本行,无需丰富的格式设置支持。

以下部分定义编辑控件类型所需的UI 自动化树结构、属性、控件模式和事件。 UI 自动化要求适用于 UI 框架/平台集成UI 自动化控件类型和控件模式支持的所有编辑控件。

本主题包含以下各节:

典型树结构

下表描述了与编辑控件相关的UI 自动化树的典型控件和内容视图,并描述了每个视图中可以包含的内容。 有关 UI 自动化树的详细信息,请参阅 UI 自动化树概述

控件视图 内容视图
  • 编辑
  • 编辑

 

实现 Edit 控件类型的控件在UI 自动化树的控件视图中将始终具有零滚动条,因为它是单行控件。 在某些布局方案中,单个文本行可能会换行。 “编辑”控件类型仅适用于少量文本。

相关属性

下表列出了值或定义与编辑控件特别相关的UI 自动化属性。 有关UI 自动化属性的详细信息,请参阅从 UI 自动化 元素检索属性

UI 自动化属性 说明
UIA_AutomationIdPropertyId 请参阅注释。 此属性的值在UI 自动化树的原始视图中的所有对等元素中必须是唯一的。
UIA_BoundingRectanglePropertyId 请参阅注释。 包含整个控件的最外层矩形。
UIA_ClickablePointPropertyId 请参阅注释。 编辑控件必须具有可单击的点,当用户鼠标单击那里时,将赋予该控件编辑部分输入焦点。
UIA_ControlTypePropertyId 编辑
UIA_IsContentElementPropertyId TRUE 编辑控件始终包含在 UI 自动化树的内容视图中。
UIA_IsControlElementPropertyId TRUE 编辑控件始终包括在 UI 自动化树的控件视图中。
UIA_IsKeyboardFocusablePropertyId 请参阅注释。 如果该控件可以接收键盘焦点,则它必须支持此属性。
UIA_IsPasswordPropertyId 请参阅注释。 在包含密码的编辑控件上,必须设置为 TRUE 。 如果一个编辑控件中确实包含密码内容,则此属性可由屏幕阅读器使用以确定用户键入时,是否应显示击键。
UIA_LabeledByPropertyId 请参阅注释。 如果存在与控件关联的静态文本标签,则此属性必须公开对该控件的引用。 如果文本控件是另一个控件的子组件,则它不会设置 LabeledBy 属性。
UIA_LocalizedControlTypePropertyId 请参阅注释。 Edit 控件类型对应的本地化字符串。 en-US 或英语 (美国) 的默认值为“edit”。
UIA_NamePropertyId 请参阅注释。 编辑控件的名称通常是从静态文本标签生成的。 如果没有静态文本标签,则必须由应用程序开发人员分配 Name 的属性值。 Name 属性不应包含编辑控件的文本内容。

 

所需的控件模式

下表列出了编辑控件需要支持的UI 自动化控件模式。 有关控件模式的详细信息,请参阅 UI Automation Control Patterns Overview

控件模式/模式属性 支持/值 注释
IRangeValueProvider 依赖的对象 采用数值范围的所有编辑控件都必须公开 RangeValue 控件模式。
最小值 请参阅注释。 此属性必须是可设置编辑控件内容的最小值。
最大值 请参阅注释。 此属性必须是编辑控件的内容可以设置到的最大值。
SmallChange 请参阅注释。 此属性必须指示该值可以设置的小数位数。 如果编辑控件仅采用整数,则 SmallChange 属性值必须为 1。 如果编辑控件的范围为 1.0 到 2.0,则 SmallChange 属性值必须为 0.1。 如果编辑控件的范围为 1.00 到 2.00,则 SmallChange 属性值必须为 0.001。
LargeChange NULL 此属性不需要在编辑控件上公开。
请参阅注释。 此属性指示编辑控件的数字内容。 当UI 自动化客户端在“最小值”和“最大值”属性中指定的范围内设置更精确的值时,Value 属性会自动舍入到最接近的接受值。
ITextProvider 必选 所有编辑控件都必须支持 文本 控件模式,因为详细信息必须始终可用于辅助技术客户端。
IValueProvider 依赖的对象 所有采用字符串的编辑控件都必须公开 Value 控件模式。
IsReadOnly 请参阅注释。 必须设置此属性以指示控件是否可以以编程方式设置值,或者可由用户编辑的值。
请参阅注释。 此属性包含编辑控件的文本内容。 如果 UIA_IsPasswordPropertyId 属性设置为 TRUE,则查询 Value 属性必须返回错误。

 

必需事件

下表列出了编辑控件需要支持UI 自动化事件。 有关事件的详细信息,请参阅 F:System.Windows.Automation.AutomationElementIdentifiers.IsEnabledProperty

UI 自动化事件 说明
UIA_AutomationFocusChangedEventId
UIA_BoundingRectanglePropertyId 属性更改事件。
UIA_IsEnabledPropertyId 属性更改事件。 如果控件支持 IsEnabled 属性,则必须支持此事件。
UIA_IsOffscreenPropertyId 属性更改事件。 如果控件支持 IsOffscreen 属性,则必须支持此事件。
UIA_NamePropertyId 属性更改事件。
UIA_RangeValueValuePropertyId 属性更改事件。 如果控件支持 RangeValue 控件模式,则必须支持此事件。
UIA_ScrollHorizontallyScrollablePropertyId 属性更改事件。 编辑控件从不支持 Scroll 控件模式。
UIA_ScrollHorizontalScrollPercentPropertyId 属性更改事件。 编辑控件从不支持 Scroll 控件模式。
UIA_ScrollHorizontalViewSizePropertyId 属性更改事件。 编辑控件从不支持 Scroll 控件模式。
UIA_ScrollVerticallyScrollablePropertyId 属性更改事件。 编辑控件从不支持 Scroll 控件模式。
UIA_ScrollVerticalScrollPercentPropertyId 属性更改事件。 编辑控件从不支持 Scroll 控件模式。
UIA_ScrollVerticalViewSizePropertyId 属性更改事件。 编辑控件从不支持 Scroll 控件模式。
UIA_StructureChangedEventId
UIA_Text_TextChangedEventId 如果控件支持 文本 控件模式,则必须支持此事件。
UIA_Text_TextSelectionChangedEventId 如果控件支持 文本 控件模式,则必须支持此事件。
UIA_ValueValuePropertyId 属性更改事件 。 如果控件支持 Value 控件模式,则必须支持此事件。

 

备注

编辑控件可用作不支持选择或编辑文本的只读文本字段。 此类编辑控件的行为类似于具有特定名称和值的字段对象。

例如,如果编辑控件包含占位符文本 (提示横幅) ,则应将文本用作 HelpText 属性,除非用户可以编辑文本,然后重新用作占位符文本。 例如,打开新选项卡时,Windows Internet Explorer 地址栏包含文本“about:Tabs”。 这不是 HelpText ,因为它是用户可以使用或编辑的编程地址。

概念性

UI 自动化控件类型概述

UI 自动化概述