ControlStyles 열거형
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
컨트롤의 스타일과 동작을 지정합니다.
이 열거형은 멤버 값의 비트 조합을 지원합니다.
public enum class ControlStyles
[System.Flags]
public enum ControlStyles
[<System.Flags>]
type ControlStyles =
Public Enum ControlStyles
- 상속
- 특성
필드
| Name | 값 | Description |
|---|---|---|
| ContainerControl | 1 | 이 경우 |
| UserPaint | 2 | 이 경우 |
| Opaque | 4 | 이면 |
| ResizeRedraw | 16 | 이 경우 |
| FixedWidth | 32 | 이 경우 |
| FixedHeight | 64 | 이 경우 |
| StandardClick | 256 | 이 경우 |
| Selectable | 512 | 이면 |
| UserMouse | 1024 | 컨트롤이 자체 마우스 처리를 수행하고 마우스 이벤트가 운영 체제에서 처리되지 않는 경우 |
| SupportsTransparentBackColor | 2048 | 이 경우 |
| StandardDoubleClick | 4096 | 이 경우 |
| AllPaintingInWmPaint | 8192 | 이 경우 |
| CacheText | 16384 | 이 경우 |
| EnableNotifyMessage | 32768 | 이 경우 |
| DoubleBuffer | 65536 | 버 |
| OptimizedDoubleBuffer | 131072 | 이 경우 |
| UseTextForAccessibility | 262144 | 컨트롤 |
| ApplyThemingImplicitly | 524288 | 특정 UI 관련 색 모드(어두운 모드/밝은 모드)의 경우 컨트롤이 적절한 테마를 자동으로 적용하도록 옵트인할 수 있습니다. 특히 시스템 관리 스크롤 막대를 활용하는 컨트롤은 이 설정의 이점을 활용할 수 있습니다. 이 설정을 사용하면 일부 win32 컨트롤 테마 렌더러가 특정 테마에 대해 비활성 상태가 됩니다. |
예제
다음 예제에서는 이벤트를 사용하는 ControlStyles 방법을 보여 줍니다 StyleChanged .
private:
// Set the 'FixedHeight' and 'FixedWidth' styles to false.
void MyForm_Load( Object^ /*sender*/, EventArgs^ /*e*/ )
{
this->SetStyle( ControlStyles::FixedHeight, false );
this->SetStyle( ControlStyles::FixedWidth, false );
}
void RegisterEventHandler()
{
this->StyleChanged += gcnew EventHandler( this, &MyForm::MyForm_StyleChanged );
}
// Handle the 'StyleChanged' event for the 'Form'.
void MyForm_StyleChanged( Object^ /*sender*/, EventArgs^ /*e*/ )
{
MessageBox::Show( "The style releated to the 'Form' has been changed" );
}
// Set the 'FixedHeight' and 'FixedWidth' styles to false.
private void MyForm_Load(object sender, EventArgs e)
{
this.SetStyle(ControlStyles.FixedHeight, false);
this.SetStyle(ControlStyles.FixedWidth, false);
}
private void RegisterEventHandler()
{
this.StyleChanged += new EventHandler(MyForm_StyleChanged);
}
// Handle the 'StyleChanged' event for the 'Form'.
private void MyForm_StyleChanged(object sender, EventArgs e)
{
MessageBox.Show("The style releated to the 'Form' has been changed");
}
' Set the 'FixedHeight' and 'FixedWidth' styles to false.
Private Sub MyForm_Load(sender As Object, e As EventArgs)
Me.SetStyle(ControlStyles.FixedHeight, False)
Me.SetStyle(ControlStyles.FixedWidth, False)
End Sub
Private Sub RegisterEventHandler()
AddHandler Me.StyleChanged, AddressOf MyForm_StyleChanged
End Sub
' Handle the 'StyleChanged' event for the 'Form'.
Private Sub MyForm_StyleChanged(sender As Object, e As EventArgs)
MessageBox.Show("The style releated to the 'Form' has been changed")
End Sub
설명
컨트롤은 다양한 속성 및 메서드에서 이 열거형을 사용하여 기능을 지정합니다. 컨트롤은 메서드를 호출 SetStyle 하고 적절한 ControlStyles 비트(또는 비트) 및 부울 값을 전달하여 비트를 설정하여 스타일을 사용하도록 설정할 수 있습니다. 예를 들어 다음 Visual Basic 코드 줄은 이중 버퍼링을 사용하도록 설정합니다.
myControl.SetStyle(UserPaint Or AllPaintingInWmPaint Or DoubleBuffer, True)
AllPaintingInWmPaint 비트가 설정된 true경우 창 메시지 WM_ERASEBKGND 무시되고 창 메시지 WM_PAINT 직접 메서드와 OnPaint 메서드가 모두 OnPaintBackground 호출됩니다. 이는 일반적으로 다른 컨트롤이 WM_ERASEBKGND 창 메시지를 컨트롤로 보내지 않는 한 깜박임을 줄입니다. WM_ERASEBKGRND 창 메시지를 보내 SupportsTransparentBackColor와 유사한 의사 투명 효과를 얻을 수 있습니다. 예를 들어 평평한 모양으로 ToolBar 이 작업을 수행합니다.
이중 버퍼링을 완전히 사용하도록 설정하려면 OptimizedDoubleBuffer 및 AllPaintingInWmPaint 비트를 .로 설정할 수 있습니다 true. 그러나 동일한 결과를 생성하는 이중 버퍼링을 사용하도록 설정하는 기본 방법은 컨트롤의 DoubleBuffered 속성을 로 설정하는 것입니다 true.
SupportsTransparentBackColor 비트가 설정 true되고 BackColor 알파 구성 요소가 255 OnPaintBackground 보다 작은 색으로 설정된 경우 부모 컨트롤에 배경을 그리도록 요청하여 투명도를 시뮬레이션합니다. 이것은 진정한 투명성이 아닙니다.
메모
컨트롤과 부모 사이에 다른 컨트롤이 있는 경우 현재 컨트롤은 가운데에 컨트롤을 표시하지 않습니다.
UserMouse 비트가 설정된 true경우 다음 메서드는 여전히 호출Control.OnMouseDown됩니다. , Control.OnMouseUp, Control.OnMouseEnter, Control.OnMouseMoveControl.OnMouseHover, Control.OnMouseLeave및 Control.OnMouseWheel.
컨트롤을 클릭하면 StandardClick 비트가 메서드로 trueControl.OnClick 설정되고 이벤트가 발생합니다 Control.Click . 컨트롤을 두 번 클릭하고 StandardClick 및 StandardDoubleClick 비트가 모두 설정 true되면 클릭이 이벤트에 전달됩니다 DoubleClick . 그런 다음 메서드가 Control.OnDoubleClick 호출되고 이벤트가 발생합니다 Control.DoubleClick . 그러나 컨트롤은 StandardClick 및 StandardDoubleClick 비트 값에 관계없이 직접 호출하거나 OnDoubleClick 호출 OnClick 할 수 있습니다. 컨트롤 클릭 및 두 번 클릭 동작에 대한 자세한 내용은 항목 및 Control.DoubleClick 항목을 참조 Control.Click 하세요.
UseTextForAccessibility 비트가 설정되고 컨트롤의 Text 속성에 값이 있는 경우 해당 컨트롤의 Text 속성 값에 따라 컨트롤의 기본 활성 접근성 이름 및 바로 가기 키가 결정됩니다. 그렇지 않으면 이전 Label 컨트롤의 텍스트가 대신 사용됩니다. 이 스타일은 기본적으로 설정됩니다. 이러한 컨트롤의 속성이 활성 접근성에서 사용되지 않도록 Text 이 스타일과 ComboBox같은 TextBox 특정 기본 제공 컨트롤 형식을 다시 설정합니다.