UI オートメーションによる ComboBox コントロール型のサポート

メモメモ

このドキュメントは、System.Windows.Automation 名前空間で定義されているマネージ UI Automation クラスを使用する .NET Framework 開発者を対象としています。UI Automationに関する最新情報については、「Windows Automation API: UI Automation (Windows オートメーション API: UI オートメーション)」を参照してください。

ここでは、UI Automationによる ComboBox コントロール型のサポートに関する情報を示します。 UI Automationでは、コントロール型は、ControlTypeProperty プロパティを使用するためにコントロールで満たす必要がある一連の条件となります。 これらの条件には、UI Automation ツリー構造、UI Automationのプロパティ値、コントロール パターン、および UI Automation イベントに関する特定のガイドラインが含まれます。

コンボ ボックスは、スタティック コントロールまたはエディット コントロールと組み合わせたリスト ボックスで、コンボ ボックスのリスト ボックス部分に現在選択されている項目が表示されます。 コントロールのリスト ボックス部分は、常に表示されるか、ユーザーがコントロールの横のドロップダウン矢印 (ボタン) を選択したときだけ表示されます。 選択フィールドがエディット コントロールの場合、ユーザーはリストに含まれていない情報を入力できます。それ以外の場合は、リストから項目を選択することしかできません。

以下のセクションでは、ComboBox コントロール型で必要な UI Automation ツリー構造、プロパティ、コントロール パターン、およびイベントを定義します。 UI Automationの各要件は、Windows Presentation Foundation (WPF)、Win32、Windows Formsのいずれの場合でも、すべてのコンボ ボックス コントロールに当てはまります。

このトピックは、次のセクションで構成されています。

  • 必須の UI オートメーション ツリー構造
  • 必須の UI オートメーション プロパティ
  • 必須の UI オートメーション コントロール パターン
  • 必須イベント
  • 関連トピック

必須の UI オートメーション ツリー構造

次の表では、コンボ ボックス コントロールに関連する UI Automation ツリーのコントロール ビューとコンテンツ ビューを示し、各ビューに格納できるものについて説明します。 UI Automation ツリーの詳細については、「UI オートメーション ツリーの概要」を参照してください。

コントロール ビュー

コンテンツ ビュー

ComboBox

  • Edit (0 または 1)

  • List (1)

  • List Item (List の子で、0 または多数)

  • Button (1)

ComboBox

  • List Item (0 または多数)

コンボ ボックスのコントロール ビューのエディット コントロールは、[ファイル名を指定して実行] ダイアログ ボックスのコンボ ボックスのように、コンボ ボックスが編集可能で任意の入力を受け取る場合にのみ必要です。

必須の UI オートメーション プロパティ

値または定義がコンボ ボックス コントロールに特に関連する UI Automationのプロパティを次に示します。 UI Automation プロパティの詳細については、「クライアントの UI オートメーション プロパティ」を参照してください。

UI Automation プロパティ

説明

AutomationIdProperty

説明を参照。

このプロパティの値は、アプリケーションのすべてのコントロールで一意にする必要があります。

BoundingRectangleProperty

説明を参照。

コントロール全体を包含する外側の四角形。

ClickablePointProperty

説明を参照。

外接する四角形が存在する場合はサポートされます。 外接する四角形の範囲内にクリック不可能な点が存在するときに特別なヒット テストを実行する場合は、クリック可能な点をオーバーライドして提供します。

ControlTypeProperty

ComboBox

この値は、すべての UI フレームワークで共通です。

HelpTextProperty

説明を参照。

コンボ ボックス コントロールのヘルプ テキストでは、オプションのコンボ ボックスから選択することをユーザーに求めている理由を説明する必要があります。 このテキストは、ツールヒントに表示する情報と似ています。 たとえば、"項目を選択すると、モニターの表示解像度が設定されます" という説明を表示します。

IsContentElementProperty

True

コンボ ボックス コントロールは、常に UI Automation ツリーのコンテンツ ビューに含まれます。

IsControlElementProperty

True

コンボ ボックス コントロールは、常に UI Automation ツリーのコントロール ビューに含まれます。

IsKeyboardFocusableProperty

True

コンボ ボックス コントロールは、選択コンテナーの一連の項目を公開します。 コンボ ボックス コントロールはキーボード フォーカスを受け取ることができますが、UI オートメーション クライアントによってコンボ ボックスにフォーカスが設定されると、コンボ ボックス サブツリー内の項目がフォーカスを受け取る場合があります。

LabeledByProperty

説明を参照。

通常、コンボ ボックス コントロールには、このプロパティが参照する静的なテキスト ラベルがあります。

LocalizedControlTypeProperty

"コンボ ボックス"

ComboBox コントロール型に対応するローカライズされた文字列。

NameProperty

説明を参照。

通常、コンボ ボックス コントロールの名前は、静的テキスト コントロールから取得されます。

必須の UI オートメーション コントロール パターン

すべてのコンボ ボックス コントロールでサポートする必要がある UI Automation コントロール パターンの一覧を次の表に示します。 コントロール パターンの詳細については、「UI オートメーション コントロール パターンの概要」を参照してください。

コントロール パターン

サポート

説明

IExpandCollapseProvider

コンボ ボックス コントロールがコンボ ボックスであるためには、常にドロップダウン ボタンを含む必要があります。

ISelectionProvider

コンボ ボックスの現在の選択項目を表示します。 このサポートは、コンボ ボックスの下のリスト ボックスで代行されます。

IValueProvider

依存

コンボ ボックスに任意のテキスト値を指定できる場合、値パターンをサポートする必要があります。 このパターンは、コンボ ボックスの文字列コンテンツをプログラムで設定する機能を提供します。 値パターンがサポートされていない場合、ユーザーはコンボ ボックスのサブツリー内のリスト項目から選択する必要があります。

IScrollProvider

なし

Scroll パターンは、コンボ ボックスで直接的にはサポートされていません。 コンボ ボックス内に含まれているリスト ボックスをスクロールできる場合はサポートされます。 リスト ボックスが画面に表示されている場合にのみサポートされます。

必須イベント

すべてのコンボ ボックス コントロールでサポートする必要がある UI Automation イベントを次の表に示します。 イベントの詳細については、「UI オートメーション イベントの概要」を参照してください。

UI Automation イベント

サポート

説明

AutomationFocusChangedEvent

必須

なし

BoundingRectangleProperty プロパティ変更イベント

必須

なし

IsOffscreenProperty プロパティ変更イベント

必須

なし

IsEnabledProperty プロパティ変更イベント

必須

なし

StructureChangedEvent

必須

なし

ExpandCollapseStateProperty プロパティ変更イベント

必須

なし

ValueProperty プロパティ変更イベント

依存

コントロールで値パターンをサポートする場合は、このイベントをサポートする必要があります。

参照

参照

ComboBox

概念

UI オートメーション コントロール型の概要

UI オートメーションの概要