비고
이 설명서는 System.Windows.Automation 네임스페이스에 정의된 관리되는 UI 자동화 클래스를 사용하려는 .NET Framework 개발자를 위한 것입니다. UI 자동화에 대한 최신 정보는 Windows Automation API: UI 자동화참조하세요.
이 항목에서는 ComboBox 컨트롤 형식에 대한 UI 자동화 지원에 대한 정보를 제공합니다. UI 자동화에서 컨트롤 형식은 속성을 사용하기 ControlTypeProperty 위해 컨트롤이 충족해야 하는 조건 집합입니다. 조건에는 UI 자동화 트리 구조, UI 자동화 속성 값, 컨트롤 패턴 및 UI 자동화 이벤트에 대한 특정 지침이 포함됩니다.
콤보 상자는 정적 컨트롤 또는 콤보 상자의 목록 상자 부분에 현재 선택된 항목을 표시하는 편집 컨트롤과 결합된 목록 상자입니다. 컨트롤의 목록 상자 부분은 항상 표시되거나 사용자가 컨트롤 옆에 있는 드롭다운 화살표(푸시 단추)를 선택할 때만 표시됩니다. 선택 필드가 편집 컨트롤인 경우 사용자는 목록에 없는 정보를 입력할 수 있습니다. 그렇지 않으면 사용자는 목록에서 항목만 선택할 수 있습니다.
다음 섹션에서는 ComboBox 컨트롤 형식에 필요한 UI 자동화 트리 구조, 속성, 컨트롤 패턴 및 이벤트를 정의합니다. UI 자동화 요구 사항은 WPF(Windows Presentation Foundation), Win32 또는 Windows Forms 등 모든 콤보 상자 컨트롤에 적용됩니다.
필수 UI 자동화 트리 구조
다음 표에서는 콤보 상자 컨트롤과 관련된 UI 자동화 트리의 컨트롤 뷰 및 콘텐츠 뷰를 보여 줍니다. 각 보기에 포함될 수 있는 항목에 대해 설명합니다. UI 자동화 트리에 대한 자세한 내용은 UI 자동화 트리 개요참조하세요.
| 컨트롤 뷰 | 콘텐츠 보기 |
|---|---|
| ComboBox - 편집(0 또는 1) - 목록 (1) - 목록 항목(목록의 자식, 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 속성 변경 이벤트입니다. | 다릅니다 | 컨트롤이 값 패턴을 지원하는 경우 이 이벤트를 지원해야 합니다. |