備註
本檔適用於想要使用 System.Windows.Automation 命名空間中定義的受控UI自動化類別的 .NET Framework 開發人員。 如需 UI 自動化的最新資訊,請參閱 Windows 自動化 API:使用者介面自動化。
本主題提供編輯控制項類型的UI自動化支援相關信息。 在UI自動化中,控件類型是控制項必須符合的一組條件,才能使用 ControlTypeProperty 屬性。 這些條件包括UI自動化樹狀結構、UI自動化屬性值和控件模式的特定指導方針。
編輯控制項可讓使用者檢視和編輯一行簡單的文字,而不支援豐富的格式設定。
下列各節會定義編輯控件類型所需的UI自動化樹狀結構、屬性、控件模式和事件。 使用者介面自動化需求適用於所有編輯控件,無論是 Windows Presentation Foundation (WPF)、Win32 還是 Windows Forms。
必要的 UI 自動化樹狀結構
下表描述與編輯控件相關的UI自動化樹狀結構的控件檢視和內容檢視,並描述每個檢視中可包含的內容。 如需 UI 自動化樹狀結構的詳細資訊,請參閱 UI 自動化樹狀結構概觀。
控制項檢視 | 內容檢視 |
---|---|
編輯 | 編輯 |
實作 [編輯] 控件類型的控件,在UI自動化樹狀結構的控件檢視中一律會有零個滾動條,因為它是單行控件。 單行文字可能會在某些版面配置案例中換行。 編輯控制項類型最適合用來存放少量可編輯或可選取的文字。
必要的UI自動化屬性
下表列出UI自動化屬性,其值或定義與編輯控件特別相關。 如需UI自動化屬性的詳細資訊,請參閱 用戶端的UI自動化屬性。
UI 自動化屬性 | 價值觀 | 註釋 |
---|---|---|
AutomationIdProperty | 請參閱備註。 | 這個屬性的值在應用程式中的所有控件中必須是唯一的。 |
BoundingRectangleProperty | 請參閱備註。 | 包含整個控制項的最外層矩形。 |
ClickablePointProperty | 請參閱備註。 | 編輯控制項必須具有可點選的點,當使用者按兩下滑鼠時,將輸入焦點提供給控件的編輯部分。 |
IsKeyboardFocusableProperty | 請參閱備註。 | 如果控制項可接收鍵盤焦點,就必定支援此屬性。 |
NameProperty | 請參閱備註。 | 編輯控制元件的名稱通常是從靜態文字捲標產生。 如果沒有靜態文字標籤,應用程式開發人員必須指派一個Name 的屬性值。 屬性 Name 絕對不應該包含編輯控件的文字內容。 |
LabeledByProperty | 請參閱備註。 | 如果有與控件相關聯的靜態文字標籤,則此屬性必須公開該控件的參考。 如果文字控制項是另一個控件的子元件,它就不會設定 LabeledBy 屬性。 |
ControlTypeProperty | 編輯 | 此值與所有使用者介面架構的值相同。 |
LocalizedControlTypeProperty | 編輯 | 對應至編輯控制項類型的當地語系化字串。 |
IsContentElementProperty | 對 | 編輯控制項一律包含在使用者介面自動化樹狀結構的內容檢視中。 |
IsControlElementProperty | 對 | 編輯控件一律包含在UI自動化樹狀結構的控件檢視中。 |
IsPasswordProperty | 請參閱備註。 | 在包含密碼的編輯控件上,必須設定為 true。 如果編輯控制項包含密碼內容,螢幕助讀程式可以使用此屬性來判斷是否應該在使用者輸入按鍵時讀出按鍵。 |
必要的使用者介面自動化控制項模式和屬性
下表列出所有編輯控制項都必須支援的控制項模式。 如需控制樣式的詳細資訊,請參閱 UI 自動化控制樣式概觀。
控制模式/控制模式屬性 | 支援/值 | 註釋 |
---|---|---|
ITextProvider | 視情況而定 | 編輯控制項應該支援文字控制樣式,因為詳細的文字資訊應該永遠可供用戶端使用。 |
IValueProvider | 視情況而定 | 採用字串的所有編輯控件都必須公開 Value 模式。 |
IsReadOnly | 請參閱備註。 | 這個屬性必須設定為 ,以指出控制項是否可以以程式設計方式設定值,或可由用戶編輯。 |
Value | 請參閱備註。 | 這個屬性會傳回編輯控件的文字內容。
IsPasswordProperty 如果設定為 true ,則這個屬性必須在要求時引發 InvalidOperationException 。 |
IRangeValueProvider | 視情況而定 | 採用數值範圍的所有編輯控件都必須公開範圍值控件模式。 |
Minimum | 請參閱備註。 | 這個屬性必須是編輯控件內容可以設定為的最小值。 |
Maximum | 請參閱備註。 | 這個屬性必須是編輯控件內容可以設定的最大值。 |
SmallChange | 請參閱備註。 | 這個屬性必須指出值可以設定為的小數位數。 如果編輯只接受整數,則 SmallChangeProperty 必須為 1。 如果編輯採用的範圍從 1.0 到 2.0,則 SmallChangeProperty 必須是 0.1。 如果編輯控件接受的範圍從 1.00 到 2.00,則 SmallChangeProperty 必須是 0.001。 |
LargeChange | Null |
此屬性不需要在編輯控件上公開。 |
Value | 請參閱備註。 | 這個屬性會指出編輯控件的數值內容。 當 UI 自動化用戶端在 Minimum 和 Maximum 屬性中指定的範圍內設定更精確的值時,Value 屬性會自動四捨五入至最接近接受的值。 |
必要的UI自動化事件
下表列出所有編輯控制項都必須支援的UI自動化事件。 如需事件的詳細資訊,請參閱 UI 自動化事件概觀。
UI 自動化事件 | 支援 | 註釋 |
---|---|---|
InvalidatedEvent | 為必填項目 | 沒有 |
TextSelectionChangedEvent | 為必填項目 | 沒有 |
TextChangedEvent | 為必填項目 | 沒有 |
BoundingRectangleProperty 屬性變更事件。 | 為必填項目 | 沒有 |
IsOffscreenProperty 屬性變更事件。 | 為必填項目 | 沒有 |
IsEnabledProperty 屬性變更事件。 | 為必填項目 | 沒有 |
NameProperty 屬性變更事件。 | 為必填項目 | 沒有 |
ValueProperty 屬性變更事件。 | 視情況而定 | 沒有 |
HorizontallyScrollableProperty 屬性變更事件。 | 從不 | 沒有 |
HorizontalScrollPercentProperty 屬性變更事件。 | 從不 | 沒有 |
HorizontalViewSizeProperty 屬性變更事件。 | 從不 | 沒有 |
VerticalScrollPercentProperty 屬性變更事件。 | 從不 | 沒有 |
VerticallyScrollableProperty 屬性變更事件。 | 從不 | 沒有 |
VerticalViewSizeProperty 屬性變更事件。 | 從不 | 沒有 |
ValueProperty 屬性變更事件。 | 視情況而定 | 如果控件支援範圍值控制模式,它必須支援這個事件。 |
AutomationFocusChangedEvent | 為必填項目 | 沒有 |
StructureChangedEvent | 為必填項目 | 沒有 |