컨트롤 사용 개요(Windows Forms .NET)

Windows Forms 컨트롤은 사용자 인터페이스 기능을 캡슐화하고 클라이언트 쪽 Windows 기반 애플리케이션에서 사용되는 재사용 가능한 구성 요소입니다. Windows Forms은 바로 사용할 수 있는 많은 컨트롤을 제공할 뿐만 아니라 고유한 컨트롤을 개발하기 위한 인프라도 제공합니다. 기존 컨트롤을 결합 또는 확장하거나 고유한 사용자 지정 컨트롤을 작성할 수 있습니다. 자세한 내용은 사용자 지정 컨트롤 형식을 참조하세요.

중요

.NET 7 및 .NET 6에 관한 데스크톱 가이드 설명서는 제작 중입니다.

컨트롤 추가

Visual Studio 디자이너를 통해 컨트롤을 추가합니다. 디자이너를 사용하여 컨트롤 위치 및 크기를 지정하고 컨트롤을 맞추고, 이동할 수 있습니다. 또는 코드를 통해 컨트롤을 추가할 수 있습니다. 자세한 내용은 컨트롤 추가(Windows Forms)를 참조하세요.

레이아웃 옵션

컨트롤이 부모에 표시되는 위치는 부모 화면의 왼쪽 위를 기준으로 하는 Location 속성 값에 따라 결정됩니다. 부모의 왼쪽 위 위치 좌표는 (x0,y0)입니다. 컨트롤 크기는 Size 속성으로 결정되며 컨트롤의 너비와 높이를 나타냅니다.

수동 위치 및 크기 지정 외에도 자동 컨트롤 배치에 도움이 되는 다양한 컨테이너 컨트롤이 제공됩니다.

자세한 내용은 컨트롤의 위치 및 레이아웃컨트롤 도킹 및 앵커링 방법을 참조하세요.

컨트롤 이벤트

컨트롤은 기본 클래스 Control을 통해 60개가 넘는 이벤트를 제공합니다. 여기에는 Paint 이벤트가 포함됩니다. 컨트롤을 그리고 창을 표시하는 데 관련된 이벤트(예: ResizeLayout) 및 낮은 수준의 마우스 및 키보드 이벤트가 생성됩니다. 일부 하위 수준 이벤트는 Control에 의해 ClickDoubleClick 등의 의미 체계 이벤트로 합성됩니다. 대부분의 공유 이벤트는 다음 범주에 속합니다.

  • 마우스 이벤트
  • 키보드 이벤트
  • 속성 변경 이벤트
  • 기타 이벤트

모든 컨트롤이 모든 이벤트에 응답하는 것은 아닙니다. 예를 들어 Label 컨트롤은 키보드 입력에 응답하지 않고 Control.PreviewKeyDown 이벤트가 발생하지 않습니다.

종종 컨트롤은 기본 Win32 컨트롤에 대한 래퍼이며, Paint 이벤트를 사용하여 컨트롤 위에 그리는 것은 제한되거나 아무 작업도 되지 않을 수 있습니다. 이는 궁극적으로 컨트롤이 Windows에서 그려지기 때문입니다.

자세한 내용은 컨트롤 이벤트컨트롤 이벤트를 처리하는 방법을 참조하세요.

컨트롤 접근성

Windows Forms에는 화면 읽기 프로그램 접근성 지원과 구두 명령 음성 입력 유틸리티가 있습니다. 하지만 접근성을 염두에 두고 UI를 디자인해야 합니다. Windows Forms 컨트롤은 접근성을 처리하는 다양한 속성을 노출합니다. 이러한 속성에 대한 자세한 내용은 컨트롤의 접근성 정보 제공을 참조하세요.

참고 항목