ComboBox 컨트롤 형식에 대한 UI 자동화 지원

참고 항목

이 설명서는 System.Windows.Automation 네임스페이스에 정의된 관리되는 UI 자동화 클래스를 사용하려는 .NET Framework 개발자를 위한 것입니다. UI 자동화에 대한 최신 정보는 Windows 자동화 API: UI 자동화를 참조하세요.

이 항목에서는 ComboBox 컨트롤 형식에 대한 UI 자동화 지원 정보를 제공합니다. UI 자동화에서 컨트롤 형식은 ControlTypeProperty 속성을 사용하기 위해 컨트롤이 충족해야 하는 조건 집합입니다. 조건에는 UI 자동화 트리 구조, UI 자동화 속성 값, 컨트롤 패턴 및 UI 자동화 이벤트에 대한 특정 지침이 포함됩니다.

콤보 상자는 콤보 상자의 목록 상자 부분에서 현재 선택된 항목을 표시하는 정적 컨트롤 또는 편집 컨트롤과 조합된 목록 상자입니다. 컨트롤의 목록 상자 부분은 항상 표시되거나, 사용자가 컨트롤 옆의 드롭다운 화살표(누름 단추)를 선택할 때만 나타납니다. 선택 필드가 편집 컨트롤이면, 사용자가 목록에 없는 정보를 입력할 수 있습니다. 그렇지 않으면 목록에서만 항목을 선택할 수 있습니다.

다음 섹션에서는 ComboBox 컨트롤 형식에 필요한 UI 자동화 트리 구조, 속성, 컨트롤 패턴 및 이벤트를 정의합니다. UI 자동화 요구 사항은 WPF(Windows Presentation Foundation), Win32 또는 Windows Forms 여부에 관계없이 모든 콤보 상자 컨트롤에 적용됩니다.

필요한 UI 자동화 트리 구조

다음 표에서는 콤보 상자 컨트롤과 관련된 UI 자동화 트리의 컨트롤 뷰 및 콘텐츠 뷰를 설명하고 각 뷰에 포함될 수 있는 내용을 설명합니다. UI 자동화 트리에 대한 자세한 내용은 UI 자동화 트리 개요를 참조하세요.

컨트롤 뷰 콘텐츠 뷰
ComboBox

- Edit(0 또는 1개)
- List(1개)
- List Item(목록의 자식, 0개 이상)
- Button(1개)
ComboBox

- List Item(0개 이상)

실행 대화 상자에서 콤보 상자의 경우와 같이, 콤보 상자 컨트롤 보기의 편집 컨트롤은 콤보 상자를 편집하여 입력할 수 있는 경우에만 필요합니다.

필요한 UI 자동화 속성

다음 표에는 콤보 상자 컨트롤과 특히 관련된 값 또는 정의가 있는 UI 자동화 속성이 나열되어 있습니다. UI 자동화 속성에 대한 자세한 내용은 클라이언트용 UI 자동화 속성을 참조하세요.

UI 자동화 속성 주의
AutomationIdProperty 메모를 참조하세요. 이 속성의 값은 애플리케이션의 모든 컨트롤에서 고유해야 합니다.
BoundingRectangleProperty 메모를 참조하세요. 전체 컨트롤이 포함된 가장 바깥쪽 사각형입니다.
ClickablePointProperty 메모를 참조하세요. 경계 사각형이 없는 경우 지원됩니다. 경계 사각형 내의 일부 지점이 클릭 가능하지 않으며 특수화된 적중 테스트를 수행하는 경우 클릭 가능한 지점을 재정의하고 제공하세요.
ControlTypeProperty ComboBox 이 값은 모든 UI 프레임워크에 대해 동일합니다.
HelpTextProperty 메모를 참조하세요. 콤보 상자 컨트롤에 대한 도움말 텍스트는 사용자에게 콤보 상자에서 옵션을 선택하라는 메시지가 표시되는 이유를 설명해야 합니다. 텍스트는 도구 설명을 통해 제공되는 정보와 비슷합니다. 예: "모니터의 디스플레이 해상도를 설정할 항목을 선택하세요."
IsContentElementProperty True 콤보 상자 컨트롤은 UI 자동화 트리의 콘텐츠 뷰에 항상 포함됩니다.
IsControlElementProperty True 콤보 상자 컨트롤은 UI 자동화 트리의 컨트롤 뷰에 항상 포함됩니다.
IsKeyboardFocusableProperty True 콤보 상자 컨트롤이 선택 항목 컨테이너의 항목 집합을 노출합니다. 콤보 상자 컨트롤은 키보드 포커스를 받을 수 있으며, UI 자동화 클라이언트가 콤보 상자에 포커스를 설정하더라도 콤보 상자 하위 트리의 모든 항목이 포커스를 받을 수 있습니다.
LabeledByProperty 메모를 참조하세요. 콤보 상자 컨트롤에는 일반적으로 이 속성이 참조하는 정적 텍스트 레이블이 있습니다.
LocalizedControlTypeProperty "combo box" ComboBox 컨트롤 형식에 해당하는 지역화된 문자열입니다.
NameProperty 메모를 참조하세요. 콤보 상자 컨트롤은 일반적으로 정적 텍스트 컨트롤에서 이름을 가져옵니다.

필요한 UI 자동화 컨트롤 패턴

다음 표에는 모든 콤보 상자 컨트롤에서 지원해야 하는 UI 자동화 컨트롤 패턴이 나열되어 있습니다. 컨트롤 패턴에 대한 자세한 내용은 UI Automation Control Patterns Overview를 참조하세요.

컨트롤 패턴 지원 주의
IExpandCollapseProvider 콤보 상자 컨트롤에는 콤보 상자가 되기 위해 드롭다운 단추가 항상 포함되어야 합니다.
ISelectionProvider 콤보 상자에서 현재 선택 항목을 표시합니다. 이 지원은 콤보 상자 아래에 있는 목록 상자에 위임됩니다.
IValueProvider 개체 콤보 상자에서 임의의 텍스트 값을 사용할 수 있으면 Value 패턴을 지원해야 합니다. 이 패턴은 콤보 상자의 문자열 내용을 프로그래밍 방식으로 설정하는 기능을 제공합니다. Value 패턴이 지원되지 않으면, 사용자가 콤보 상자의 하위 트리 내에 있는 목록 항목에서 항목을 선택해야 합니다.
IScrollProvider 안 함 Scroll 패턴이 콤보 상자에서 직접 지원되지 않습니다. 콤보 상자 내에 포함된 목록 상자를 스크롤할 수 있는 경우 지원됩니다. 목록 상자가 화면에 표시되는 경우만 지원될 수도 있습니다.

필요한 이벤트

다음 표에는 모든 콤보 상자 컨트롤에서 지원해야 하는 UI 자동화 이벤트가 나열되어 있습니다. 이벤트에 대한 자세한 내용은 UI Automation Events Overview를 참조하세요.

UI 자동화 이벤트 지원 주의
AutomationFocusChangedEvent Required None
BoundingRectangleProperty 속성 변경 이벤트. Required None
IsOffscreenProperty 속성 변경 이벤트. Required None
IsEnabledProperty 속성 변경 이벤트. Required None
StructureChangedEvent Required None
ExpandCollapseStateProperty 속성 변경 이벤트. Required None
ValueProperty 속성 변경 이벤트. 개체 컨트롤이 Value 패턴을 지원하는 경우 이 이벤트를 지원해야 합니다.

참고 항목