ControlStyles ControlStyles ControlStyles ControlStyles Enum

Definición

Especifica el estilo y comportamiento de un control.Specifies the style and behavior of a control.

Esta enumeración tiene el atributo FlagsAttribute, que permite una combinación bit a bit de sus valores de miembro.

public enum class ControlStyles
[System.Flags]
public enum ControlStyles
type ControlStyles = 
Public Enum ControlStyles
Herencia
ControlStylesControlStylesControlStylesControlStyles
Atributos

Campos

AllPaintingInWmPaint AllPaintingInWmPaint AllPaintingInWmPaint AllPaintingInWmPaint 8192

Si true, el control ignora el mensaje de ventana WM_ERASEBKGND para reducir el parpadeo.If true, the control ignores the window message WM_ERASEBKGND to reduce flicker. Este estilo solo debe aplicarse si el bit UserPaint se establece en true.This style should only be applied if the UserPaint bit is set to true.

CacheText CacheText CacheText CacheText 16384

Si true, el control mantiene una copia del texto en lugar de obtenerlo desde Handle cada vez que se necesita.If true, the control keeps a copy of the text rather than getting it from the Handle each time it is needed. El valor predeterminado de este estilo es false.This style defaults to false. Este comportamiento mejora el rendimiento, pero es difícil mantener el texto sincronizado.This behavior improves performance, but makes it difficult to keep the text synchronized.

ContainerControl ContainerControl ContainerControl ContainerControl 1

Si true, el control es un control similar a un contenedor.If true, the control is a container-like control.

DoubleBuffer DoubleBuffer DoubleBuffer DoubleBuffer 65536

Si true, se realiza el dibujo en un búfer y, después de que finalice, el resultado aparece en la pantalla.If true, drawing is performed in a buffer, and after it completes, the result is output to the screen. El doble búfer evita que se produzca un parpadeo como consecuencia de volver a dibujar el control.Double-buffering prevents flicker caused by the redrawing of the control. Si establece DoubleBuffer en true, también debe establecer UserPaint y AllPaintingInWmPaint en true.If you set DoubleBuffer to true, you should also set UserPaint and AllPaintingInWmPaint to true.

EnableNotifyMessage EnableNotifyMessage EnableNotifyMessage EnableNotifyMessage 32768

Si true, se llama al método OnNotifyMessage(Message) para cada mensaje enviado al WndProc(Message) del control.If true, the OnNotifyMessage(Message) method is called for every message sent to the control's WndProc(Message). El valor predeterminado de este estilo es false.This style defaults to false. EnableNotifyMessage no funciona en confianza parcial.EnableNotifyMessage does not work in partial trust.

FixedHeight FixedHeight FixedHeight FixedHeight 64

Si true, el control tiene un alto fijo cuando se ajusta la escala automática.If true, the control has a fixed height when auto-scaled. Por ejemplo, si una operación de diseño intercambia la escala del control para dar cabida a un nuevo Font, el Height del control permanece sin cambios.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

Si true, el control tiene un ancho fijo cuando se ajusta la escala automática.If true, the control has a fixed width when auto-scaled. Por ejemplo, si una operación de diseño intercambia la escala del control para dar cabida a un nuevo Font, el Width del control permanece sin cambios.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

Si true, el control se dibuja opaco y no se pinta el fondo.If true, the control is drawn opaque and the background is not painted.

OptimizedDoubleBuffer OptimizedDoubleBuffer OptimizedDoubleBuffer OptimizedDoubleBuffer 131072

Si true, el control se dibuja primero en un búfer, en lugar de directamente en la pantalla, lo que puede reducir el parpadeo.If true, the control is first drawn to a buffer rather than directly to the screen, which can reduce flicker. Si establece esta propiedad en true, también debe establecer AllPaintingInWmPaint en true.If you set this property to true, you should also set the AllPaintingInWmPaint to true.

ResizeRedraw ResizeRedraw ResizeRedraw ResizeRedraw 16

Si true, el control se vuelve a dibujar cuando se cambia el tamaño.If true, the control is redrawn when it is resized.

Selectable Selectable Selectable Selectable 512

Si true, el control puede recibir el foco.If true, the control can receive focus.

StandardClick StandardClick StandardClick StandardClick 256

Si true, el control implementa el comportamiento Click estándar.If true, the control implements the standard Click behavior.

StandardDoubleClick StandardDoubleClick StandardDoubleClick StandardDoubleClick 4096

Si true, el control implementa el comportamiento DoubleClick estándar.If true, the control implements the standard DoubleClick behavior. Este estilo se omite si el bit StandardClick no está establecido en true.This style is ignored if the StandardClick bit is not set to true.

SupportsTransparentBackColor SupportsTransparentBackColor SupportsTransparentBackColor SupportsTransparentBackColor 2048

Si true, el control acepta un BackColor con un componente alfa menor de 255 para simular una transparencia.If true, the control accepts a BackColor with an alpha component of less than 255 to simulate transparency. La transparencia solo se simulará si el bit UserPaint se establece en true y el control primario deriva de 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

Si true, el control realiza su propio procesamiento de mouse y el sistema operativo no controla los eventos de mouse.If true, the control does its own mouse processing, and mouse events are not handled by the operating system.

UserPaint UserPaint UserPaint UserPaint 2

Si true, el control es el que dibuja en vez de hacerlo el sistema operativo.If true, the control paints itself rather than the operating system doing so. Si es false, no se provoca el evento Paint.If false, the Paint event is not raised. Este estilo solo se aplica a las clases derivadas de Control.This style only applies to classes derived from Control.

UseTextForAccessibility UseTextForAccessibility UseTextForAccessibility UseTextForAccessibility 262144

Especifica que el valor de la propiedad Text del control, si se ha establecido, determina el nombre de Active Accessibility y el método abreviado de teclado predeterminado del control.Specifies that the value of the control's Text property, if set, determines the control's default Active Accessibility name and shortcut key.

Ejemplos

En el ejemplo siguiente se muestra un uso de ControlStyles con el StyleChanged eventos.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 'MyForm_Load

Private Sub RegisterEventHandler()
   AddHandler Me.StyleChanged, AddressOf MyForm_StyleChanged
End Sub 'RegisterEventHandler

' 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 'MyForm_StyleChanged

Comentarios

Los controles utilizan esta enumeración en diversos métodos y propiedades para especificar la funcionalidad.Controls use this enumeration in various properties and methods to specify functionality. Un control puede habilitar un estilo mediante una llamada a la SetStyle método y pasando adecuado ControlStyles bits (o bits) y el valor booleano para establecer los bits.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. Por ejemplo, la siguiente línea de código de Visual Basic permitiría doble búfer.For example, the following line of Visual Basic code would enable double-buffering.

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

Si se establece el bit AllPaintingInWmPaint en true, el mensaje de ventana WM_ERASEBKGND se omite y ambos OnPaintBackground y OnPaint métodos se invocan directamente desde el mensaje de ventana 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. Normalmente, esto reduce el parpadeo, a menos que otros controles de envían el mensaje de ventana WM_ERASEBKGND al control.This generally reduces flicker unless other controls send the window message WM_ERASEBKGND to the control. Puede enviar el mensaje de ventana WM_ERASEBKGRND para lograr un efecto similar a SupportsTransparentBackColor; Por ejemplo, un ToolBar con apariencia plana para ello.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.

Para habilitar completamente el búfer doble, puede establecer los bits OptimizedDoubleBuffer y AllPaintingInWmPaint en true.To fully enable double-buffering, you can set the OptimizedDoubleBuffer and AllPaintingInWmPaint bits to true. Sin embargo es establecer el método preferido para habilitar el almacenamiento en doble búfer, lo que produce el mismo resultado, la DoubleBuffered propiedad para que el control 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.

Si se establece el bit SupportsTransparentBackColor en truey el BackColor está establecido en un color cuyo componente alfa es menor que 255, OnPaintBackground simulará la transparencia pidiendo al control primario para pintar el fondo.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. Esto no es una transparencia real.This is not true transparency.

Nota

Si hay otro control entre el control y su elemento primario, el control actual no mostrará el control en el medio.If there is another control between the control and its parent, the current control will not show the control in the middle.

Cuando se establece el bit UserMouse en true, se sigue llamando a los métodos siguientes: Control.OnMouseDown, Control.OnMouseUp, Control.OnMouseEnter, Control.OnMouseMove, Control.OnMouseHover, Control.OnMouseLeave, y 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.

Cuando se selecciona el control, si se establece el bit StandardClick en true el Control.OnClick se llama al método y genera el Control.Click eventos.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. Cuando se hace doble clic en el control y el StandardClick y StandardDoubleClick bits se establecen en true, haga clic en que se pasa a la DoubleClick eventos.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. El Control.OnDoubleClick se llama al método y genera el Control.DoubleClick eventos.Then the Control.OnDoubleClick method is called and it raises the Control.DoubleClick event. Sin embargo, el control puede llamar a OnClick o OnDoubleClick directamente sin tener en cuenta la StandardClick y StandardDoubleClick valores de bit.However, the control can call OnClick or OnDoubleClick directly regardless of the StandardClick and StandardDoubleClick bit values. Para obtener más información sobre el control, haga clic en y haga doble clic en los comportamientos, consulte el Control.Click y Control.DoubleClick temas.For more information on control click and double click behaviors, see the Control.Click and Control.DoubleClick topics.

Cuando se establece el bit UseTextForAccessibility y hay un valor en el control Text propiedad, el valor de ese control Text propiedad determina Active Accessibility nombre y el método abreviado de teclado predeterminado del control.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. En caso contrario, el texto de los anteriores Label control se usará en su lugar.Otherwise, the text of the preceding Label control will be used instead. Este estilo se establece de forma predeterminada.This style is set by default. Tipos de algunos controles integrados, como TextBox y ComboBox, restablecer este estilo para que el Text Active Accessibility no usará la propiedad de esos controles.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.

Se aplica a

Consulte también: