ControlStyles ControlStyles ControlStyles ControlStyles Enum

Определение

Задает стиль и поведение элемента управления.Specifies the style and behavior of a control.

Это перечисление имеет атрибут FlagsAttribute, который разрешает побитовое сочетание значений его элементов.

public enum class ControlStyles
[System.Flags]
public enum ControlStyles
type ControlStyles = 
Public Enum ControlStyles
Наследование
ControlStylesControlStylesControlStylesControlStyles
Атрибуты

Поля

AllPaintingInWmPaint AllPaintingInWmPaint AllPaintingInWmPaint AllPaintingInWmPaint 8192

Если присвоено значение true, элемент управления не обрабатывает сообщение окна WM_ERASEBKGND, чтобы снизить мерцание.If true, the control ignores the window message WM_ERASEBKGND to reduce flicker. Этот стиль следует применять, только если бит UserPaint имеет значение true.This style should only be applied if the UserPaint bit is set to true.

CacheText CacheText CacheText CacheText 16384

Если присвоено значение true, элемент управления хранит копию текста у себя, а не обращается к Handle каждый раз, когда нужен текст.If true, the control keeps a copy of the text rather than getting it from the Handle each time it is needed. По умолчанию этот стиль имеет значение false.This style defaults to false. Этот режим повышает производительность, но затрудняет синхронизацию текста.This behavior improves performance, but makes it difficult to keep the text synchronized.

ContainerControl ContainerControl ContainerControl ContainerControl 1

Если присвоено значение true, элемент управления является контейнером.If true, the control is a container-like control.

DoubleBuffer DoubleBuffer DoubleBuffer DoubleBuffer 65536

Если присвоено значение true, рисование выполняется в буфере, а после завершения результат выводится на экран.If true, drawing is performed in a buffer, and after it completes, the result is output to the screen. Двойная буферизация предотвращает мерцание, вызываемое обновлением элемента управления.Double-buffering prevents flicker caused by the redrawing of the control. Если для стиля DoubleBuffer задано значение true, следует также установить true для стилей UserPaint и AllPaintingInWmPaint.If you set DoubleBuffer to true, you should also set UserPaint and AllPaintingInWmPaint to true.

EnableNotifyMessage EnableNotifyMessage EnableNotifyMessage EnableNotifyMessage 32768

Если присвоено значение true, метод OnNotifyMessage(Message) вызывается для каждого сообщения, которое отправляется в метод WndProc(Message) этого элемента управления.If true, the OnNotifyMessage(Message) method is called for every message sent to the control's WndProc(Message). По умолчанию этот стиль имеет значение false.This style defaults to false. Стиль EnableNotifyMessage не работает в режиме частичного доверия.EnableNotifyMessage does not work in partial trust.

FixedHeight FixedHeight FixedHeight FixedHeight 64

Если присвоено значение true, элемент управления имеет фиксированную высоту при автоматическом масштабировании.If true, the control has a fixed height when auto-scaled. Например, если операция макета пытается изменить размер элемента управления в соответствии с обновлением Font, Height элемента управления не изменяется.For example, if a layout operation attempts to rescale the control to accommodate a new Font, the control's Height remains unchanged.

FixedWidth FixedWidth FixedWidth FixedWidth 32

Если присвоено значение true, элемент управления имеет фиксированную ширину при автоматическом масштабировании.If true, the control has a fixed width when auto-scaled. Например, если операция макета пытается изменить размер элемента управления в соответствии с обновлением Font, Width элемента управления не изменяется.For example, if a layout operation attempts to rescale the control to accommodate a new Font, the control's Width remains unchanged.

Opaque Opaque Opaque Opaque 4

Если присвоено значение true, элемент управления отображается непрозрачным, а фон не закрашивается.If true, the control is drawn opaque and the background is not painted.

OptimizedDoubleBuffer OptimizedDoubleBuffer OptimizedDoubleBuffer OptimizedDoubleBuffer 131072

Если присвоено значение true, элемент управления сначала прорисовывается в буфер, а не сразу на экран, что позволяет снизить мерцание.If true, the control is first drawn to a buffer rather than directly to the screen, which can reduce flicker. Если для этого стиля задано значение true, следует также установить true для стиля AllPaintingInWmPaint.If you set this property to true, you should also set the AllPaintingInWmPaint to true.

ResizeRedraw ResizeRedraw ResizeRedraw ResizeRedraw 16

Если присвоено значение true, элемент управления перерисовывается при изменении его размера.If true, the control is redrawn when it is resized.

Selectable Selectable Selectable Selectable 512

Если присвоено значение true, элемент управления может получать фокус.If true, the control can receive focus.

StandardClick StandardClick StandardClick StandardClick 256

Если присвоено значение true, элемент управления реализует стандартное поведение Click.If true, the control implements the standard Click behavior.

StandardDoubleClick StandardDoubleClick StandardDoubleClick StandardDoubleClick 4096

Если присвоено значение true, элемент управления реализует стандартное поведение DoubleClick.If true, the control implements the standard DoubleClick behavior. Этот стиль игнорируется, если бит StandardClick имеет значение, отличное от true.This style is ignored if the StandardClick bit is not set to true.

SupportsTransparentBackColor SupportsTransparentBackColor SupportsTransparentBackColor SupportsTransparentBackColor 2048

Если присвоено значение true, элемент управления принимает параметр BackColor c альфа-составляющей, при значении которой менее 255 имитируется прозрачность.If true, the control accepts a BackColor with an alpha component of less than 255 to simulate transparency. Прозрачность имитируется, только если биту UserPaint присвоено значение true, а родительский элемент управления наследуется от класса Control.Transparency will be simulated only if the UserPaint bit is set to true and the parent control is derived from Control.

UserMouse UserMouse UserMouse UserMouse 1024

Если присвоено значение true, элемент управления самостоятельно выполняет обработку событий мыши, и эти события не обрабатываются операционной системой.If true, the control does its own mouse processing, and mouse events are not handled by the operating system.

UserPaint UserPaint UserPaint UserPaint 2

Если присвоено значение true, отображение элемента управления выполняет сам элемент, а не операционная система.If true, the control paints itself rather than the operating system doing so. Если присвоено значение false, событие Paint не возникает.If false, the Paint event is not raised. Этот стиль применяется только к классам, производным от Control.This style only applies to classes derived from Control.

UseTextForAccessibility UseTextForAccessibility UseTextForAccessibility UseTextForAccessibility 262144

Указывает, что значение свойства Text (если оно задано для этого элемента управления) определяет стандартное имя и сочетание клавиш для этого элемента управления в Active Accessibility.Specifies that the value of the control's Text property, if set, determines the control's default Active Accessibility name and shortcut key.

Примеры

В следующем примере показано использование ControlStyles с StyleChanged событий.The following example demonstrates a use of ControlStyles with the StyleChanged event.

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

Комментарии

Элементы управления используют это перечисление в различные свойства и методы для указания функций.Controls use this enumeration in various properties and methods to specify functionality. Элемент управления может активировать стиль, вызвав SetStyle и передав в соответствующий ControlStyles бит (или биты) и логическое значение, задаваемого для.A control can enable a style by calling the SetStyle method and passing in the appropriate ControlStyles bit (or bits) and the Boolean value to set the bit(s) to. Например следующая строка кода Visual Basic включить двойную буферизацию.For example, the following line of Visual Basic code would enable double-buffering.

myControl.SetStyle(UserPaint Or AllPaintingInWmPaint Or DoubleBuffer, True)  

Если бит AllPaintingInWmPaint устанавливается равным true, сообщение окна WM_ERASEBKGND игнорируется и оба OnPaintBackground и OnPaint методы вызываются непосредственно из окна сообщения WM_PAINT.If the AllPaintingInWmPaint bit is set to true, the window message WM_ERASEBKGND is ignored, and both OnPaintBackground and OnPaint methods are called directly from the window message WM_PAINT. Это обычно понижает мерцание, другие элементы управления не посылают сообщение окна WM_ERASEBKGND элементу управления.This generally reduces flicker unless other controls send the window message WM_ERASEBKGND to the control. Вы можете отправить сообщение окна WM_ERASEBKGRND для создания псевдослучайных прозрачного эффекта аналогичную SupportsTransparentBackColor; например ToolBar плоский внешний вид будет выполнять это.You might send the window message WM_ERASEBKGRND to achieve a pseudo-transparent effect similar to SupportsTransparentBackColor; for example, a ToolBar with flat appearance does this.

Чтобы включить двойную буферизацию, можно задать биты OptimizedDoubleBuffer и AllPaintingInWmPaint true.To fully enable double-buffering, you can set the OptimizedDoubleBuffer and AllPaintingInWmPaint bits to true. Тем не менее для включения двойной буферизации, которой дает тот же результат, рекомендуется задать DoubleBuffered свойства для элемента управления true.However the preferred method for enabling double buffering, which yields the same result, is to set the DoubleBuffered property for the control to true.

Если бит SupportsTransparentBackColor устанавливается равным trueи BackColor задается цвет, альфа-компонент которого — меньше 255 OnPaintBackground имитируется прозрачность, запрашивая его родительского элемента для закрашивания фона.If the SupportsTransparentBackColor bit is set to true, and the BackColor is set to a color whose alpha component is less than 255, OnPaintBackground will simulate transparency by asking its parent control to paint the background. Это не подлинная прозрачность.This is not true transparency.

Примечание

Если имеется другой элемент управления между элементом управления и его родительским, текущий элемент управления не отображает элемент управления в середине.If there is another control between the control and its parent, the current control will not show the control in the middle.

Если присвоить биту UserMouse true, по-прежнему вызываются следующие методы: Control.OnMouseDown, Control.OnMouseUp, Control.OnMouseEnter, Control.OnMouseMove, Control.OnMouseHover, Control.OnMouseLeave, и Control.OnMouseWheel.When the UserMouse bit is set to true, the following methods are still called: Control.OnMouseDown, Control.OnMouseUp, Control.OnMouseEnter, Control.OnMouseMove, Control.OnMouseHover, Control.OnMouseLeave, and Control.OnMouseWheel.

При щелчке элемента управления, если бит StandardClick устанавливается равным true Control.OnClick вызывается метод, и он выдает Control.Click событий.When the control is clicked, if the StandardClick bit is set to true the Control.OnClick method is called and it raises the Control.Click event. При двойном щелчке элемента управления и StandardClick и StandardDoubleClick биты установлены на true, щелчок передается в DoubleClick событий.When the control is double-clicked, and both the StandardClick and StandardDoubleClick bits are set to true, the click is passed on to the DoubleClick event. Затем Control.OnDoubleClick вызывается метод, и он выдает Control.DoubleClick событий.Then the Control.OnDoubleClick method is called and it raises the Control.DoubleClick event. Тем не менее, элемент управления может вызывать OnClick или OnDoubleClick непосредственно независимо от StandardClick и StandardDoubleClick значения битов.However, the control can call OnClick or OnDoubleClick directly regardless of the StandardClick and StandardDoubleClick bit values. Дополнительные сведения об элементе управления выберите и дважды щелкните поведение, см. в разделе Control.Click и Control.DoubleClick разделы.For more information on control click and double click behaviors, see the Control.Click and Control.DoubleClick topics.

Когда UseTextForAccessibility бит устанавливается, и выводится значение элемента управления Text свойство, значение элемента управления Text свойство определяет элемента управления по умолчанию Active Accessibility имя и сочетание клавиш.When the UseTextForAccessibility bit is set and there is a value in the control's Text property, the value of that control's Text property determines the control's default Active Accessibility name and shortcut key. В противном случае текст предыдущего Label вместо него будет использоваться элемент управления.Otherwise, the text of the preceding Label control will be used instead. Этот стиль имеет значение по умолчанию.This style is set by default. Типы, определенные встроенного элемента управления, такие как TextBox и ComboBox, сбросить этот стиль, чтобы Text свойства этих элементов управления не будет использоваться с Active Accessibility.Certain built-in control types, such as TextBox and ComboBox, reset this style so that the Text property of those controls will not be used by Active Accessibility.

Применяется к

Дополнительно