다음을 통해 공유


Control 클래스

시각적으로 표시되는 구성 요소인 컨트롤의 기본 클래스를 정의합니다.

네임스페이스: System.Windows.Forms
어셈블리: System.Windows.Forms(system.windows.forms.dll)

구문

‘선언
<ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch)> _
<ComVisibleAttribute(True)> _
Public Class Control
    Inherits Component
    Implements IDropTarget, ISynchronizeInvoke, IWin32Window, IBindableComponent, _
    IComponent, IDisposable
‘사용 방법
Dim instance As Control
[ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch)] 
[ComVisibleAttribute(true)] 
public class Control : Component, IDropTarget, ISynchronizeInvoke, IWin32Window, 
    IBindableComponent, IComponent, IDisposable
[ClassInterfaceAttribute(ClassInterfaceType::AutoDispatch)] 
[ComVisibleAttribute(true)] 
public ref class Control : public Component, IDropTarget, ISynchronizeInvoke, IWin32Window, 
    IBindableComponent, IComponent, IDisposable
/** @attribute ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch) */ 
/** @attribute ComVisibleAttribute(true) */ 
public class Control extends Component implements IDropTarget, ISynchronizeInvoke, 
    IWin32Window, IBindableComponent, IComponent, IDisposable
ClassInterfaceAttribute(ClassInterfaceType.AutoDispatch) 
ComVisibleAttribute(true) 
public class Control extends Component implements IDropTarget, ISynchronizeInvoke, 
    IWin32Window, IBindableComponent, IComponent, IDisposable

설명

사용자 정의 컨트롤 클래스를 만들려면 UserControl, Control 클래스 또는 지정된 다른 Windows Forms 컨트롤에서 상속합니다. 사용자 지정 컨트롤 제작에 대한 자세한 내용은 .NET Framework에서 사용자 지정 Windows Forms 컨트롤 개발을 참조하십시오.

Control 클래스는 사용자가 볼 수 있도록 정보를 표시하는 클래스에서 필요로 하는 가장 기본적인 기능만 구현합니다. 또한 이 클래스는 키보드와 포인팅 장치를 통한 사용자 입력을 처리합니다. 또한 메시지 라우팅 및 보안을 처리합니다. 이 클래스는 그리기를 구현하지는 않지만 컨트롤의 범위(위치와 크기)를 정의하며, 창 핸들(hWnd)을 제공합니다.

Windows Forms 컨트롤은 자식 컨트롤이 주변 환경처럼 보이도록 앰비언트 속성을 사용합니다. 앰비언트 속성은 컨트롤 속성으로, 설정되지 않은 경우에는 부모 컨트롤에서 해당 속성을 가져옵니다. 이 컨트롤에 Parent가 없고 속성도 설정되어 있지 않은 경우 해당 컨트롤은 Site 속성을 통해 앰비언트 속성의 값을 결정합니다. 이 컨트롤이 사이트에 없거나, 사이트에서 앰비언트 속성을 지원하지 않거나 AmbientProperties에 이 속성이 설정되지 않은 경우 이 컨트롤은 기본값을 사용합니다. 일반적으로 앰비언트 속성은 자식 컨트롤에 연결되는 BackColor 등과 같은 컨트롤의 특성을 나타냅니다. 예를 들어, Button은 기본적으로 자신의 부모 Form과 같은 BackColor를 갖습니다. Control 클래스에서 제공하는 앰비언트 속성으로 Cursor, Font, BackColor, ForeColorRightToLeft가 있습니다.

참고

사용자의 Windows Forms 응용 프로그램이 Windows XP 비주얼 스타일을 지원하도록 만들려면 FlatStyle 속성을 System으로 설정하고 실행 파일에 매니페스트를 포함시켜야 합니다. 매니페스트는 응용 프로그램 실행 파일 내에 하나의 리소스로 또는 실행 파일과 같은 디렉터리에 상주하는 별도의 파일로 포함되는 XML 파일을 말합니다. 매니페스트의 예제를 보려면 FlatStyle 열거형의 예제 단원을 참조하십시오. Windows XP에서 사용 가능한 비주얼 스타일 사용에 대한 자세한 내용은 https://msdn.microsoft.com/library/kor. MSDN Library에서 "Using Windows XP Visual Styles"를 참조하십시오.

Windows Forms는 기본적으로 내게 필요한 옵션을 지원하며 화면 확대기 및 검토기 유틸리티, 목소리 입력 유틸리티, 화면 키보드, 대체 입력 장치 및 키보드 향상 유틸리티와 같은 내게 필요한 옵션 지원 클라이언트 응용 프로그램과 응용 프로그램을 함께 사용할 수 있도록 해당 응용 프로그램에 대한 정보를 제공합니다. 내게 필요한 옵션 지원 클라이언트 응용 프로그램에 추가 정보를 제공할 수도 있습니다. 이러한 추가 정보를 제공하는 두 가지 방법은 다음과 같습니다. 첫 번째 방법은 내게 필요한 옵션 지원 클라이언트 응용 프로그램에 보고되는 AccessibleName, AccessibleDescription, AccessibleDefaultActionDescriptionAccessibleRole 속성 값을 설정하는 것입니다. 이 방법은 대개 기존 컨트롤에 대한 제한적인 액세스 가능성 정보를 제공할 때 사용됩니다. 다른 방법은 필요한 만큼 액세스 가능성 정보를 제공하는 AccessibleObject 또는 Control.ControlAccessibleObject 클래스에서 파생되는 사용자 클래스를 작성하는 것입니다.

참고

보다 향상된 성능을 유지하려면 컨트롤의 생성자에 해당 컨트롤의 크기를 설정하지 않아야 합니다. 더 좋은 방법은 DefaultSize 속성을 재정의하는 것입니다.

System.Windows.Forms 네임스페이스에 있는 컨트롤은 대부분 내부 Windows 공용 컨트롤을 빌드 기반으로 사용합니다. Windows 공용 컨트롤에 대한 자세한 내용은 https://msdn.microsoft.com/library/kor. MSDN Library에서 "General Control Reference" 항목을 참조하십시오.

별도의 프로세스에서 Windows Forms 컨트롤을 식별하려면 표준 SendMessage 호출을 사용하여 WM_GETCONTROLNAME 메시지를 전달합니다. WM_GETCONTROLNAME은 언어 및 Windows 계층 구조와 관련이 없습니다. 자세한 내용은 https://msdn.microsoft.com/library/kor. MSDN Library에 있는 "Automating Windows Forms" 단원에서 "Recommended Solution for Windows Forms" 항목을 참조하십시오.

상속 계층 구조

System.Object
   System.MarshalByRefObject
     System.ComponentModel.Component
      System.Windows.Forms.Control
         파생 클래스

스레드로부터의 안전성

스레드로부터 안전한 멤버는 BeginInvoke, EndInvoke, Invoke, InvokeRequiredCreateGraphics뿐입니다.

플랫폼

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework에서 모든 플래폼의 모든 버전을 지원하지는 않습니다. 지원되는 버전의 목록은 시스템 요구 사항을 참조하십시오.

버전 정보

.NET Framework

2.0, 1.1, 1.0에서 지원

.NET Compact Framework

2.0, 1.0에서 지원

참고 항목

참조

Control 멤버
System.Windows.Forms 네임스페이스
Form
ScrollableControl
ContainerControl 클래스
Component