사용자 정의 컨트롤 클래스를 만들려면 UserControl, Control 클래스 또는 지정된 다른 Windows Forms 컨트롤에서 상속합니다. 사용자 지정 컨트롤 제작에 대한 자세한 내용은 .NET Framework에서 사용자 지정 Windows Forms 컨트롤 개발을 참조하십시오.
Control 클래스는 사용자가 볼 수 있도록 정보를 표시하는 클래스에서 필요로 하는 가장 기본적인 기능만 구현합니다. 또한 이 클래스는 키보드와 포인팅 장치를 통한 사용자 입력을 처리합니다. 또한 메시지 라우팅 및 보안을 처리합니다. 이 클래스는 그리기를 구현하지는 않지만 컨트롤의 범위(위치와 크기)를 정의하며, 창 핸들(hWnd)을 제공합니다.
Windows Forms 컨트롤은 자식 컨트롤이 주변 환경처럼 보이도록 앰비언트 속성을 사용합니다. 앰비언트 속성은 컨트롤 속성으로, 설정되지 않은 경우에는 부모 컨트롤에서 해당 속성을 가져옵니다. 이 컨트롤에 Parent가 없고 속성도 설정되어 있지 않은 경우 해당 컨트롤은 Site 속성을 통해 앰비언트 속성의 값을 결정합니다. 이 컨트롤이 사이트에 없거나, 사이트에서 앰비언트 속성을 지원하지 않거나 AmbientProperties에 이 속성이 설정되지 않은 경우 이 컨트롤은 기본값을 사용합니다. 일반적으로 앰비언트 속성은 자식 컨트롤에 연결되는 BackColor 등과 같은 컨트롤의 특성을 나타냅니다. 예를 들어, Button은 기본적으로 자신의 부모 Form과 같은 BackColor를 갖습니다. Control 클래스에서 제공하는 앰비언트 속성으로 Cursor, Font, BackColor, ForeColor 및 RightToLeft가 있습니다.
참고 |
|---|
| 사용자의 Windows Forms 응용 프로그램이 Windows XP 비주얼 스타일을 지원하도록 만들려면 FlatStyle 속성을 System으로 설정하고 실행 파일에 매니페스트를 포함시켜야 합니다. 매니페스트는 응용 프로그램 실행 파일 내에 하나의 리소스로 또는 실행 파일과 같은 디렉터리에 상주하는 별도의 파일로 포함되는 XML 파일을 말합니다. 매니페스트의 예제를 보려면 FlatStyle 열거형의 예제 단원을 참조하십시오. Windows XP에서 사용 가능한 비주얼 스타일 사용에 대한 자세한 내용은 http://msdn.microsoft.com/library/kor. MSDN Library에서 "Using Windows XP Visual Styles"를 참조하십시오. |
Windows Forms는 기본적으로 내게 필요한 옵션을 지원하며 화면 확대기 및 검토기 유틸리티, 목소리 입력 유틸리티, 화면 키보드, 대체 입력 장치 및 키보드 향상 유틸리티와 같은 내게 필요한 옵션 지원 클라이언트 응용 프로그램과 응용 프로그램을 함께 사용할 수 있도록 해당 응용 프로그램에 대한 정보를 제공합니다. 내게 필요한 옵션 지원 클라이언트 응용 프로그램에 추가 정보를 제공할 수도 있습니다. 이러한 추가 정보를 제공하는 두 가지 방법은 다음과 같습니다. 첫 번째 방법은 내게 필요한 옵션 지원 클라이언트 응용 프로그램에 보고되는 AccessibleName, AccessibleDescription, AccessibleDefaultActionDescription 및 AccessibleRole 속성 값을 설정하는 것입니다. 이 방법은 대개 기존 컨트롤에 대한 제한적인 액세스 가능성 정보를 제공할 때 사용됩니다. 다른 방법은 필요한 만큼 액세스 가능성 정보를 제공하는 AccessibleObject 또는 Control.ControlAccessibleObject 클래스에서 파생되는 사용자 클래스를 작성하는 것입니다.
참고 |
|---|
| 보다 향상된 성능을 유지하려면 컨트롤의 생성자에 해당 컨트롤의 크기를 설정하지 않아야 합니다. 더 좋은 방법은 DefaultSize 속성을 재정의하는 것입니다. |
System.Windows.Forms 네임스페이스에 있는 컨트롤은 대부분 내부 Windows 공용 컨트롤을 빌드 기반으로 사용합니다. Windows 공용 컨트롤에 대한 자세한 내용은 http://msdn.microsoft.com/library/kor. MSDN Library에서 "General Control Reference" 항목을 참조하십시오.
별도의 프로세스에서 Windows Forms 컨트롤을 식별하려면 표준 SendMessage 호출을 사용하여 WM_GETCONTROLNAME 메시지를 전달합니다. WM_GETCONTROLNAME은 언어 및 Windows 계층 구조와 관련이 없습니다. 자세한 내용은 http://msdn.microsoft.com/library/kor. MSDN Library에 있는 "Automating Windows Forms" 단원에서 "Recommended Solution for Windows Forms" 항목을 참조하십시오.