ControlStyles Énumération

Définition

Spécifie le style et le comportement d’un contrôle.Specifies the style and behavior of a control.

Cette énumération a un attribut <a href="https://docs.microsoft.com/en-us/dotnet/api/system.flagsattribute">FlagsAttribute</a> qui permet une combinaison au niveau du bit de ses valeurs membres.

public enum class ControlStyles
[System.Flags]
public enum ControlStyles
type ControlStyles = 
Public Enum ControlStyles
Héritage
ControlStyles
Attributs

Champs

AllPaintingInWmPaint 8192

Si true, le contrôle ignore le message de fenêtre WM_ERASEBKGND pour réduire le scintillement.If true, the control ignores the window message WM_ERASEBKGND to reduce flicker. Ce style doit être appliqué uniquement si le bit UserPaint est défini sur true.This style should only be applied if the UserPaint bit is set to true.

CacheText 16384

Si true, le contrôle conserve une copie du texte plutôt que de l’obtenir à partir de Handle chaque fois que le texte est nécessaire.If true, the control keeps a copy of the text rather than getting it from the Handle each time it is needed. Ce style est false par défaut.This style defaults to false. Ce comportement améliore les performances, mais rend difficile la synchronisation du texte.This behavior improves performance, but makes it difficult to keep the text synchronized.

ContainerControl 1

Si true, le contrôle est de type conteneur.If true, the control is a container-like control.

DoubleBuffer 65536

Si true, le dessin s’effectue dans une mémoire tampon. Une fois le dessin terminé, le résultat s’affiche à l’écran.If true, drawing is performed in a buffer, and after it completes, the result is output to the screen. Un mécanisme de double tampon empêche le scintillement provoqué par le rafraîchissement du dessin du contrôle.Double-buffering prevents flicker caused by the redrawing of the control. Si vous définissez DoubleBuffer sur true, vous devez également définir UserPaint et AllPaintingInWmPaint sur true.If you set DoubleBuffer to true, you should also set UserPaint and AllPaintingInWmPaint to true.

EnableNotifyMessage 32768

Si true, la méthode OnNotifyMessage(Message) est appelée pour chaque message envoyé au WndProc(Message) du contrôle.If true, the OnNotifyMessage(Message) method is called for every message sent to the control's WndProc(Message). Ce style est false par défaut.This style defaults to false. EnableNotifyMessage ne fonctionne pas avec une confiance partielle.EnableNotifyMessage does not work in partial trust.

FixedHeight 64

Si true, le contrôle a une hauteur fixe lors de la mise à l’échelle automatique.If true, the control has a fixed height when auto-scaled. Par exemple, si une opération de disposition essaie de mettre à l’échelle le contrôle pour accueillir un nouveau Font, la Height du contrôle reste inchangé.For example, if a layout operation attempts to rescale the control to accommodate a new Font, the control's Height remains unchanged.

FixedWidth 32

Si true, le contrôle a une largeur fixe lors de la mise à l’échelle automatique.If true, the control has a fixed width when auto-scaled. Par exemple, si une opération de disposition essaie de mettre à l’échelle le contrôle pour accueillir un nouveau Font, la Width du contrôle reste inchangé.For example, if a layout operation attempts to rescale the control to accommodate a new Font, the control's Width remains unchanged.

Opaque 4

Si true, le contrôle est affiché de manière opaque et l’arrière-plan n’est pas affiché.If true, the control is drawn opaque and the background is not painted.

OptimizedDoubleBuffer 131072

Si true, le contrôle est d’abord dessiné dans une mémoire tampon plutôt que directement à l’écran, ce qui peut réduire le scintillement.If true, the control is first drawn to a buffer rather than directly to the screen, which can reduce flicker. Si vous définissez cette propriété sur true, vous devez également définir AllPaintingInWmPaint sur true.If you set this property to true, you should also set the AllPaintingInWmPaint to true.

ResizeRedraw 16

Si true, le contrôle est redessiné quand il est redimensionné.If true, the control is redrawn when it is resized.

Selectable 512

Si true, le contrôle peut recevoir le focus.If true, the control can receive focus.

StandardClick 256

Si true, le contrôle implémente le comportement Click standard.If true, the control implements the standard Click behavior.

StandardDoubleClick 4096

Si true, le contrôle implémente le comportement DoubleClick standard.If true, the control implements the standard DoubleClick behavior. Ce style est ignoré si le bit StandardClick n’est pas défini sur true.This style is ignored if the StandardClick bit is not set to true.

SupportsTransparentBackColor 2048

Si true, le contrôle accepte une BackColor avec un composant alpha inférieur à 255 pour simuler la transparence.If true, the control accepts a BackColor with an alpha component of less than 255 to simulate transparency. La transparence sera simulée seulement si le bit UserPaint est défini sur true et que le contrôle parent est dérivé de Control.Transparency will be simulated only if the UserPaint bit is set to true and the parent control is derived from Control.

UserMouse 1024

Si true, le contrôle effectue son propre traitement de souris et les événements de souris ne sont pas gérés par le système d’exploitation.If true, the control does its own mouse processing, and mouse events are not handled by the operating system.

UserPaint 2

Si true, le contrôle s’affiche lui-même plutôt que par le biais du système d’exploitation.If true, the control paints itself rather than the operating system doing so. Si false, l'événement Paint n'est pas déclenché.If false, the Paint event is not raised. Ce style ne s’applique qu’aux classes dérivées de Control.This style only applies to classes derived from Control.

UseTextForAccessibility 262144

Spécifie que la valeur de la propriété Text du contrôle, si elle est définie, détermine le nom et la touche de raccourci par défaut Active Accessibility du contrôle.Specifies that the value of the control's Text property, if set, determines the control's default Active Accessibility name and shortcut key.

Exemples

L’exemple suivant illustre une utilisation de ControlStyles avec l’événement 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

Remarques

Les contrôles utilisent cette énumération dans différentes propriétés et méthodes pour spécifier des fonctionnalités.Controls use this enumeration in various properties and methods to specify functionality. Un contrôle peut activer un style en appelant la méthode SetStyle et en passant le bit de ControlStyles approprié (ou bits) et la valeur booléenne pour définir le ou les 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. Par exemple, la ligne de Visual Basic code suivante activerait la double mise en mémoire tampon.For example, the following line of Visual Basic code would enable double-buffering.

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

Si le bit AllPaintingInWmPaint est défini sur true, le WM_ERASEBKGND de message de fenêtre est ignoré, et les méthodes OnPaintBackground et OnPaint sont appelées directement à partir du message de fenêtre 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. Cela réduit généralement le scintillement, sauf si d’autres contrôles envoient le message de fenêtre WM_ERASEBKGND au contrôle.This generally reduces flicker unless other controls send the window message WM_ERASEBKGND to the control. Vous pouvez envoyer le message de fenêtre WM_ERASEBKGRND pour obtenir un effet Pseudo-transparent similaire à SupportsTransparentBackColor ; par exemple, un ToolBar avec une apparence à deux dimensions fait cela.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.

Pour activer entièrement la double mise en mémoire tampon, vous pouvez définir les bits OptimizedDoubleBuffer et AllPaintingInWmPaint sur true.To fully enable double-buffering, you can set the OptimizedDoubleBuffer and AllPaintingInWmPaint bits to true. Toutefois, la méthode recommandée pour activer la double mise en mémoire tampon, qui produit le même résultat, consiste à définir la propriété DoubleBuffered du contrôle sur 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 le bit SupportsTransparentBackColor est défini sur trueet que la BackColor est définie sur une couleur dont le composant alpha est inférieur à 255, OnPaintBackground simule la transparence en demandant à son contrôle parent de peindre l’arrière-plan.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. Il ne s’agit pas d’une véritable transparence.This is not true transparency.

Notes

S’il existe un autre contrôle entre le contrôle et son parent, le contrôle actuel n’affiche pas le contrôle au milieu.If there is another control between the control and its parent, the current control will not show the control in the middle.

Lorsque le bit UserMouse est défini sur true, les méthodes suivantes sont toujours appelées : Control.OnMouseDown, Control.OnMouseUp, Control.OnMouseEnter, Control.OnMouseMove, Control.OnMouseHover, Control.OnMouseLeaveet 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.

Lorsque l’utilisateur clique sur le contrôle, si le bit StandardClick est défini sur true la méthode Control.OnClick est appelée et déclenche l’événement 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. Lorsque vous double-cliquez sur le contrôle et que les bits StandardClick et StandardDoubleClick sont définis sur true, le clic est passé à l’événement 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. La méthode Control.OnDoubleClick est alors appelée et déclenche l’événement Control.DoubleClick.Then the Control.OnDoubleClick method is called and it raises the Control.DoubleClick event. Toutefois, le contrôle peut appeler OnClick ou OnDoubleClick directement, quelles que soient les valeurs de bit StandardClick et StandardDoubleClick.However, the control can call OnClick or OnDoubleClick directly regardless of the StandardClick and StandardDoubleClick bit values. Pour plus d’informations sur les comportements de clic et de double-clic sur les contrôles, consultez les rubriques Control.Click et Control.DoubleClick.For more information on control click and double click behaviors, see the Control.Click and Control.DoubleClick topics.

Lorsque le bit UseTextForAccessibility est défini et qu’il y a une valeur dans la propriété Text du contrôle, la valeur de la propriété Text de ce contrôle détermine le nom et la touche de raccourci du Active Accessibility par défaut du contrôle.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. Dans le cas contraire, le texte du contrôle Label précédent sera utilisé à la place.Otherwise, the text of the preceding Label control will be used instead. Ce style est défini par défaut.This style is set by default. Certains types de contrôle intégrés, tels que TextBox et ComboBox, réinitialisent ce style afin que la propriété Text de ces contrôles ne soit pas utilisée par 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.

S’applique à

Voir aussi