ControlStyles Перечисление
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Задает стиль и поведение элемента управления.
Это перечисление поддерживает побитовую комбинацию значений его членов.
public enum class ControlStyles
[System.Flags]
public enum ControlStyles
[<System.Flags>]
type ControlStyles =
Public Enum ControlStyles
- Наследование
- Атрибуты
Поля
AllPaintingInWmPaint | 8192 | Если присвоено значение |
ApplyThemingImplicitly | 524288 | |
CacheText | 16384 | Если присвоено значение |
ContainerControl | 1 | Если присвоено значение |
DoubleBuffer | 65536 | Если присвоено значение |
EnableNotifyMessage | 32768 | Если присвоено значение |
FixedHeight | 64 | Если присвоено значение |
FixedWidth | 32 | Если присвоено значение |
Opaque | 4 | Если присвоено значение |
OptimizedDoubleBuffer | 131072 | Если присвоено значение |
ResizeRedraw | 16 | Если присвоено значение |
Selectable | 512 | Если присвоено значение |
StandardClick | 256 | Если присвоено значение |
StandardDoubleClick | 4096 | Если присвоено значение |
SupportsTransparentBackColor | 2048 | Если присвоено значение |
UserMouse | 1024 | Если присвоено значение |
UserPaint | 2 | Если присвоено значение |
UseTextForAccessibility | 262144 | Указывает, что значение свойства |
Примеры
В следующем примере показано использование 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 игнорируется, а оба OnPaintBackground метода и OnPaint вызываются непосредственно из сообщения окна WM_PAINT. Обычно это уменьшает мерцание, если другие элементы управления не отправляют сообщение окна 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.OnMouseLeaveControl.OnMouseMoveControl.OnMouseHover, и .Control.OnMouseWheel
Если для бита StandardClick задано значение true
Control.OnClick , вызывается метод и вызывается Control.Click событие . Если дважды щелкнуть элемент управления и для битов StandardClick и StandardDoubleClick задано значение true
, щелчок передается в DoubleClick событие .
Control.OnDoubleClick Затем вызывается метод , который вызывает Control.DoubleClick событие . Однако элемент управления может вызывать OnClick или OnDoubleClick напрямую независимо от битовых значений StandardClick и StandardDoubleClick. Дополнительные сведения о поведении элемента управления щелчком и двойным щелчком см. в разделах Control.Click и Control.DoubleClick .
Если задан бит UseTextForAccessibility и в свойстве элемента управления Text
есть значение, значение свойства этого элемента управления Text
определяет имя элемента управления Active Accessibility по умолчанию и сочетание клавиш. В противном случае вместо него будет использоваться текст предыдущего Label элемента управления. Этот стиль задан по умолчанию. Некоторые встроенные типы элементов управления, такие как TextBox и ComboBox, сбрасывают этот стиль, Text
чтобы свойство этих элементов управления не использовалось активными специальными возможностями.