次の方法で共有


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

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

このトピックでは、ComboBox コントロール型に対する UI オートメーションのサポートについて説明します。 UI オートメーションでは、コントロール型は、 ControlTypeProperty プロパティを使用するためにコントロールが満たす必要がある一連の条件です。 条件には、UI オートメーション ツリー構造、UI オートメーション プロパティ値、コントロール パターン、および UI オートメーション イベントに関する特定のガイドラインが含まれます。

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

次のセクションでは、ComboBox コントロール型に必要な UI オートメーション ツリー構造、プロパティ、コントロール パターン、およびイベントを定義します。 UI オートメーションの要件は、Windows Presentation Foundation (WPF)、Win32、Windows フォームのいずれであっても、すべてのコンボ ボックス コントロールに適用されます。

必要な UI オートメーション ツリー構造

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

コントロール ビュー コンテンツ ビュー
ComboBox

- 編集 (0 または 1)
- リスト (1)
- List Item (リストの子。0 以上)
- ボタン (1)
ComboBox

- リスト項目 (0から多数)

コンボ ボックスのコントロール ビューの編集コントロールは、[実行] ダイアログ ボックスのコンボ ボックスの場合と同様に、コンボ ボックスを編集して任意の入力を行うことができる場合にのみ必要です。

必要な UI オートメーション プロパティ

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

UI オートメーション プロパティ 価値 注記
AutomationIdProperty ノートを参照してください。 このプロパティの値は、アプリケーション内のすべてのコントロールで一意である必要があります。
BoundingRectangleProperty ノートを参照してください。 コントロール全体を含む最も外側の四角形。
ClickablePointProperty ノートを参照してください。 外接する四角形がある場合にサポートされます。 外接する四角形内のポイントのすべてがクリック可能でない場合、かつ特殊なヒットテストを行うのであれば、オーバーライドしてクリック可能なポイントを指定してください。
ControlTypeProperty ComboBox この値は、すべての UI フレームワークで同じです。
HelpTextProperty ノートを参照してください。 コンボ ボックス コントロールのヘルプ テキストでは、ユーザーがコンボ ボックスからオプションを選択するように求められる理由を説明する必要があります。 テキストは、ツールヒントで表示される情報に似ています。 たとえば、「モニターの表示解像度を設定する項目を選択します」などです。
IsContentElementProperty 正しい コンボ ボックス コントロールは、常に UI オートメーション ツリーのコンテンツ ビューに含まれます。
IsControlElementProperty 正しい コンボ ボックス コントロールは、常に UI オートメーション ツリーのコントロール ビューに含まれます。
IsKeyboardFocusableProperty 正しい コンボ ボックス コントロールは、選択コンテナーから一連の項目を公開します。 コンボ ボックス コントロールはキーボード フォーカスを受け取ることができますが、UI オートメーション クライアントがコンボ ボックスにフォーカスを設定すると、コンボ ボックス サブツリー内のすべての項目がフォーカスを受け取る可能性があります。
LabeledByProperty ノートを参照してください。 コンボ ボックス コントロールには、通常、このプロパティが参照する静的テキスト ラベルがあります。
LocalizedControlTypeProperty 「コンボ ボックス」 ComboBox コントロール型に対応するローカライズされた文字列。
NameProperty ノートを参照してください。 コンボ ボックス コントロールは、通常、静的テキスト コントロールからその名前を取得します。

必要な UI オートメーション コントロール パターン

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

コントロール パターン 支援 注記
IExpandCollapseProvider イエス コンボ ボックス コントロールをコンボ ボックスにするには、常にドロップダウン ボタンを含める必要があります。
ISelectionProvider イエス コンボ ボックスに現在選択されている項目を表示します。 このサポートは、コンボ ボックスの下のリスト ボックスに委任されます。
IValueProvider 依存 コンボ ボックスに任意のテキスト値を取る機能がある場合は、値パターンをサポートする必要があります。 このパターンは、コンボ ボックスの文字列の内容をプログラムで設定する機能を提供します。 値パターンがサポートされていない場合は、コンボ ボックスのサブツリー内のリスト 項目からユーザーが選択を行う必要があることを示します。
IScrollProvider 決してない スクロール パターンは、コンボ ボックスで直接サポートされることはありません。 コンボ ボックス内に含まれるリスト ボックスがスクロールできる場合にサポートされます。 リスト ボックスが画面に表示されている場合にのみサポートされる場合があります。

必要なイベント

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

UI オートメーション イベント 支援 注記
AutomationFocusChangedEvent 必須 無し
BoundingRectangleProperty プロパティ変更イベント。 必須 無し
IsOffscreenProperty プロパティ変更イベント。 必須 無し
IsEnabledProperty プロパティ変更イベント。 必須 無し
StructureChangedEvent 必須 無し
ExpandCollapseStateProperty プロパティ変更イベント。 必須 無し
ValueProperty プロパティ変更イベント。 依存 コントロールが Value パターンをサポートしている場合は、このイベントをサポートする必要があります。

こちらも参照ください