ControlStyles Enumerazione

Definizione

Specifica lo stile e il comportamento di un controllo.Specifies the style and behavior of a control.

Questa enumerazione ha un attributo FlagsAttribute che consente una combinazione bit per bit dei valori del relativo membro.

public enum class ControlStyles
[System.Flags]
public enum ControlStyles
type ControlStyles = 
Public Enum ControlStyles
Ereditarietà
ControlStyles
Attributi

Campi

AllPaintingInWmPaint 8192

Se true, il controllo ignora il messaggio finestra WM_ERASEBKGND per ridurre lo sfarfallio.If true, the control ignores the window message WM_ERASEBKGND to reduce flicker. Questo stile deve essere applicato solo se il bit di UserPaint è impostato su true.This style should only be applied if the UserPaint bit is set to true.

CacheText 16384

Se true, il controllo mantiene una copia del testo anziché ottenerlo dalla proprietà Handle ogni volta che è necessario.If true, the control keeps a copy of the text rather than getting it from the Handle each time it is needed. Il valore predefinito per questo stile è false.This style defaults to false. Questo comportamento migliora le prestazioni, ma rende difficile mantenere il testo sincronizzato.This behavior improves performance, but makes it difficult to keep the text synchronized.

ContainerControl 1

Se true, il controllo è un controllo simile a un contenitore.If true, the control is a container-like control.

DoubleBuffer 65536

Se true, il disegno viene eseguito in un buffer e, una volta completato, il risultato viene inviato allo schermo.If true, drawing is performed in a buffer, and after it completes, the result is output to the screen. Il doppio buffer impedisce lo sfarfallio causato dal ridisegno del controllo.Double-buffering prevents flicker caused by the redrawing of the control. Se si imposta DoubleBuffer su true, è necessario impostare anche UserPaint e AllPaintingInWmPaint su true.If you set DoubleBuffer to true, you should also set UserPaint and AllPaintingInWmPaint to true.

EnableNotifyMessage 32768

Se true, il metodo OnNotifyMessage(Message) viene chiamato per ogni messaggio inviato al metodo WndProc(Message) del controllo.If true, the OnNotifyMessage(Message) method is called for every message sent to the control's WndProc(Message). Il valore predefinito per questo stile è false.This style defaults to false. EnableNotifyMessage non funziona con l'attendibilità parziale.EnableNotifyMessage does not work in partial trust.

FixedHeight 64

Se true, il controllo ha una altezza fissa quando viene eseguito il ridimensionamento automatico.If true, the control has a fixed height when auto-scaled. Ad esempio, se un'operazione di layout tenta di ridimensionare il controllo per contenere un nuovo oggetto Font, la proprietà Height del controllo rimane invariata.For example, if a layout operation attempts to rescale the control to accommodate a new Font, the control's Height remains unchanged.

FixedWidth 32

Se true, il controllo ha una larghezza fissa quando viene eseguito il ridimensionamento automatico.If true, the control has a fixed width when auto-scaled. Ad esempio, se un'operazione di layout tenta di ridimensionare il controllo per contenere un nuovo oggetto Font, la proprietà Width del controllo rimane invariata.For example, if a layout operation attempts to rescale the control to accommodate a new Font, the control's Width remains unchanged.

Opaque 4

Se true, il controllo viene disegnato opaco e lo sfondo non viene disegnato.If true, the control is drawn opaque and the background is not painted.

OptimizedDoubleBuffer 131072

Se true, il controllo prima viene disegnato in un buffer anziché direttamente sullo schermo, in modo da ridurre lo sfarfallio.If true, the control is first drawn to a buffer rather than directly to the screen, which can reduce flicker. Se si imposta questa proprietà su true, è necessario impostare AllPaintingInWmPaint su true.If you set this property to true, you should also set the AllPaintingInWmPaint to true.

ResizeRedraw 16

Se true, il controllo viene ridisegnato quando viene ridimensionato.If true, the control is redrawn when it is resized.

Selectable 512

Se true, il controllo può ricevere lo stato attivo.If true, the control can receive focus.

StandardClick 256

Se true, il controllo implementa il comportamento Click standard.If true, the control implements the standard Click behavior.

StandardDoubleClick 4096

Se true, il controllo implementa il comportamento DoubleClick standard.If true, the control implements the standard DoubleClick behavior. Questo stile viene ignorato se il bit di StandardClick non è impostato su true.This style is ignored if the StandardClick bit is not set to true.

SupportsTransparentBackColor 2048

Se true, il controllo accetta una proprietà BackColor con un componente alfa minore di 255 per simulare la trasparenza.If true, the control accepts a BackColor with an alpha component of less than 255 to simulate transparency. La trasparenza verrà simulata solo se il bit di UserPaint viene impostato su true e il controllo padre è derivato da Control.Transparency will be simulated only if the UserPaint bit is set to true and the parent control is derived from Control.

UserMouse 1024

Se true, il controllo esegue autonomamente l'elaborazione del mouse e gli eventi del mouse non vengono gestiti dal sistema operativo.If true, the control does its own mouse processing, and mouse events are not handled by the operating system.

UserPaint 2

Se true, il controllo si disegna da solo anziché essere disegnato dal sistema operativo.If true, the control paints itself rather than the operating system doing so. Se false, l'evento Paint non viene generato.If false, the Paint event is not raised. Questo stile si applica solo alle classi derivate da Control.This style only applies to classes derived from Control.

UseTextForAccessibility 262144

Specifica che il valore della proprietà Text del controllo, se impostato, determina il tasto di scelta rapida e il nome Active Accessibility predefiniti del controllo.Specifies that the value of the control's Text property, if set, determines the control's default Active Accessibility name and shortcut key.

Esempi

L'esempio seguente illustra un uso ControlStyles con il StyleChanged evento.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

Commenti

Controlli usano questa enumerazione in varie proprietà e metodi per specificare le funzionalità.Controls use this enumeration in various properties and methods to specify functionality. Un controllo è possibile abilitare un stile chiamando il SetStyle metodo e passando l'oggetto appropriato ControlStyles bit (o bits) e il valore booleano per impostare i bit.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. Ad esempio, la riga di codice Visual Basic seguente consentirebbe il doppio buffer.For example, the following line of Visual Basic code would enable double-buffering.

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

Se il bit AllPaintingInWmPaint è impostato su true, il messaggio finestra WM_ERASEBKGND viene ignorato ed entrambe OnPaintBackground e OnPaint metodi vengono chiamati direttamente dalla finestra di messaggio 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. Questo riduce in genere lo sfarfallio, a meno che altri controlli di inviano il messaggio finestra WM_ERASEBKGND per il controllo.This generally reduces flicker unless other controls send the window message WM_ERASEBKGND to the control. È possibile inviare il messaggio finestra WM_ERASEBKGRND per ottenere un effetto pseudo-trasparente simile a SupportsTransparentBackColor; ad esempio, un ToolBar con aspetto bidimensionale esegue questa operazione.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.

Per abilitare completamente il doppio buffer, è possibile impostare i bit OptimizedDoubleBuffer e AllPaintingInWmPaint su true.To fully enable double-buffering, you can set the OptimizedDoubleBuffer and AllPaintingInWmPaint bits to true. Tuttavia il metodo preferito per l'abilitazione del doppio buffer, producendo lo stesso risultato consiste nell'impostare il DoubleBuffered proprietà per il controllo 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.

Se il bit SupportsTransparentBackColor è impostato su truee il BackColor è impostata su un colore il cui componente alfa è inferiore a 255, OnPaintBackground simulerà trasparenza richiedendo relativo controllo padre per disegnare lo sfondo.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. Questo non è trasparenza vera e propria.This is not true transparency.

Nota

Se è presente un altro controllo tra il controllo e il relativo elemento padre, il controllo corrente non visualizzerà il controllo al centro.If there is another control between the control and its parent, the current control will not show the control in the middle.

Quando il bit UserMouse è impostato su true, sono comunque chiamati i metodi seguenti: Control.OnMouseDown, Control.OnMouseUp, Control.OnMouseEnter, Control.OnMouseMove, Control.OnMouseHover, Control.OnMouseLeave, e 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.

Quando viene selezionato il controllo, se il bit StandardClick è impostato su true il Control.OnClick viene chiamato il metodo e genera il Control.Click evento.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. Quando fa doppio clic sul controllo e StandardClick sia StandardDoubleClick bit vengono impostati su true, fare clic su viene passato al DoubleClick evento.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. L'oggetto Control.OnDoubleClick viene chiamato il metodo e genera il Control.DoubleClick evento.Then the Control.OnDoubleClick method is called and it raises the Control.DoubleClick event. Tuttavia, il controllo può chiamare OnClick o OnDoubleClick direttamente indipendentemente dal fatto di StandardClick e StandardDoubleClick valori di bit.However, the control can call OnClick or OnDoubleClick directly regardless of the StandardClick and StandardDoubleClick bit values. Per altre informazioni sul controllo fare clic su e fare doppio clic su comportamenti, vedere la Control.Click e Control.DoubleClick argomenti.For more information on control click and double click behaviors, see the Control.Click and Control.DoubleClick topics.

Quando viene impostato il bit UseTextForAccessibility e c'è un valore del controllo Text proprietà, il valore di tale controllo Text proprietà determina tasto Active Accessibility predefiniti nome e la scelta rapida del controllo.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. In caso contrario, il testo dell'oggetto precedente Label controllo alternativa, verrà utilizzato.Otherwise, the text of the preceding Label control will be used instead. Questo stile è impostato per impostazione predefinita.This style is set by default. Controllo incorporato di determinati tipi, ad esempio TextBox e ComboBox, reimpostare questo stile, in modo che il Text proprietà dei controlli non useranno 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.

Si applica a

Vedi anche