Prise en charge d'UI Automation pour le type de contrôle ComboBox

Notes

Cette documentation s’adresse aux développeurs .NET Framework qui souhaitent utiliser les classes UI Automation managées définies dans l’espace de noms System.Windows.Automation. Pour obtenir les dernières informations sur UI Automation, consultez API Windows Automation : UI Automation.

Cette rubrique fournit des informations sur la prise en charge d’UI Automation pour le type de contrôle ComboBox. Dans UI Automation, un type de contrôle est un ensemble de conditions qu’un contrôle doit respecter pour pouvoir utiliser la propriété ControlTypeProperty. Les conditions incluent des instructions spécifiques pour la structure d’arborescence, les valeurs de propriété, les modèles de contrôle et les événements UI Automation.

Une zone de liste modifiable est une zone de liste associée à un contrôle statique ou à un contrôle d’édition qui affiche dans la zone de liste l’élément actuellement sélectionné. La zone de liste du contrôle est affichée en permanence ou apparaît uniquement quand l’utilisateur sélectionne la flèche de déroulement (qui est un bouton de commande) à côté du contrôle. Si le champ de sélection est un contrôle d’édition, l’utilisateur peut entrer des informations qui ne sont pas dans la liste. Sinon, l’utilisateur peut sélectionner uniquement les éléments de la liste.

Les sections suivantes définissent la structure d’arborescence, les propriétés, les modèles de contrôle et les événements UI Automation nécessaires pour le type de contrôle ComboBox. Les exigences UI Automation s’appliquent à tous les contrôles de zone de liste déroulante, que ce soit Windows Presentation Foundation (WPF), Win32 ou Windows Forms.

Arborescence UI Automation obligatoire

Le tableau suivant représente l’affichage de contrôle et l’affichage du contenu de l’arborescence UI Automation concernant les contrôles de zone de liste déroulante. En outre, il décrit ce que peut contenir chaque affichage. Pour plus d’informations sur l’arborescence UI Automation, consultez Vue d’ensemble de l’arborescence UI Automation.

Affichage de contrôle Affichage de contenu
ComboBox

- Edit (0 ou 1)
- List (1)
- List Item (enfant de List. 0 à plusieurs)
- Button (1)
ComboBox

- List Item (0 à plusieurs)

Le contrôle d’édition dans l’affichage de contrôle de la zone de liste modifiable est obligatoire uniquement si la zone de liste modifiable peut être modifiée pour accepter toute entrée, comme c’est le cas de la zone de liste modifiable de la boîte de dialogue Exécuter.

Propriétés UI Automation obligatoires

Le tableau suivant liste les propriétés UI Automation dont la valeur ou la définition est particulièrement pertinente pour les contrôles de zone de liste déroulante. Pour plus d’informations sur les propriétés UI Automation, consultez Propriétés UI Automation pour les clients.

Propriété UI Automation Valeur Notes
AutomationIdProperty Consultez les remarques. La valeur de cette propriété doit être unique dans tous les contrôles d’une application.
BoundingRectangleProperty Consultez les remarques. Rectangle externe qui contient l’ensemble du contrôle.
ClickablePointProperty Consultez les remarques. Pris en charge s’il existe un rectangle englobant. Si les points du rectangle englobant ne sont pas tous interactifs et que vous effectuez un test de positionnement spécialisé, vous devez remplacer et fournir un point interactif.
ControlTypeProperty ComboBox Cette valeur est identique pour toutes les infrastructures d’interface utilisateur.
HelpTextProperty Consultez les remarques. Le texte d’aide pour les contrôles de zone de liste modifiable doit expliquer pourquoi l’utilisateur est invité à choisir une option dans la zone de liste modifiable. Le texte est semblable aux informations présentées dans une info-bulle. Par exemple, « Sélectionnez un élément pour définir la résolution d’affichage de votre moniteur ».
IsContentElementProperty True Les contrôles de zone de liste déroulante sont toujours inclus dans l’affichage du contenu de l’arborescence UI Automation.
IsControlElementProperty True Les contrôles de zone de liste déroulante sont toujours inclus dans l’affichage de contrôle de l’arborescence UI Automation.
IsKeyboardFocusableProperty True Les contrôles de zone de liste modifiable exposent un ensemble d’éléments d’un conteneur de sélection. Le contrôle de zone de liste modifiable peut recevoir le focus clavier, même si quand un client UI Automation définit le focus sur une zone de liste modifiable, tous les éléments de la sous-arborescence de la zone de liste modifiable peuvent recevoir le focus.
LabeledByProperty Consultez les remarques. Les contrôles de zone de liste modifiable ont généralement une étiquette de texte statique référencée par cette propriété.
LocalizedControlTypeProperty « zone de liste modifiable » Chaîne localisée correspondant au type de contrôle ComboBox.
NameProperty Consultez les remarques. Le contrôle de zone de liste modifiable obtient généralement son nom d’un contrôle de texte statique.

Modèles de contrôle UI Automation obligatoires

Le tableau suivant répertorie les modèles de contrôle UI Automation qui doivent être pris en charge par tous les contrôles de zone de liste déroulante. Pour plus d’informations sur les modèles de contrôle, consultez UI Automation Control Patterns Overview.

Modèle de contrôle Support Notes
IExpandCollapseProvider Oui Le contrôle de zone de liste modifiable doit toujours contenir le bouton déroulant pour être une zone de liste modifiable.
ISelectionProvider Oui Affiche la sélection actuelle dans la zone de liste modifiable. Cette prise en charge est déléguée à la zone de liste de la zone de liste modifiable.
IValueProvider Dépend Si la zone de liste modifiable a la possibilité d’accepter des valeurs textuelles arbitraires, le modèle Value doit être pris en charge. Ce modèle permet de définir par programmation le contenu de la chaîne de la zone de liste modifiable. Si le modèle Value n’est pas pris en charge, cela indique que l’utilisateur doit effectuer une sélection à partir des éléments de liste dans la sous-arborescence de la zone de liste modifiable.
IScrollProvider Jamais Le modèle Scroll n’est jamais pris en charge directement sur une zone de liste modifiable. Il est pris en charge si une zone de liste contenue dans une zone de liste modifiable peut faire l’objet d’un défilement. Il peut uniquement être pris en charge quand la zone de liste est visible à l’écran.

Événements obligatoires

Le tableau suivant répertorie les événements UI Automation qui doivent être pris en charge par tous les contrôles de zone de liste déroulante. Pour plus d’informations sur les événements, consultez UI Automation Events Overview.

Événement UI Automation Support Notes
AutomationFocusChangedEvent Obligatoire None
Événement de modification de propriétéBoundingRectangleProperty Obligatoire None
Événement de modification de propriétéIsOffscreenProperty Obligatoire None
Événement de modification de propriétéIsEnabledProperty Obligatoire None
StructureChangedEvent Obligatoire None
Événement de modification de propriétéExpandCollapseStateProperty Obligatoire None
Événement de modification de propriétéValueProperty Dépend Si le contrôle prend en charge le modèle Value, il doit prendre en charge cet événement.

Voir aussi