ControlStyles Énumération
TOC
Réduire la table des matières
Développer la table des matières

ControlStyles, énumération

 

Spécifie le style et le comportement d'un contrôle.

Espace de noms:   System.Windows.Forms
Assembly:  System.Windows.Forms (dans System.Windows.Forms.dll)

[FlagsAttribute]
public enum ControlStyles

Nom de membreDescription
AllPaintingInWmPaint

Si true, le contrôle ignore le message de fenêtre WM_ERASEBKGND pour réduire le scintillement.Ce style ne doit être appliqué que si la valeur true est affectée au bit UserPaint.

CacheText

Si la valeur true est affectée, le contrôle conserve une copie du texte plutôt que de l'obtenir de Handle chaque fois que cela est nécessaire. false est affecté par défaut à ce style.Ce comportement optimise les performances, mais il rend la synchronisation du texte difficile.

ContainerControl

Si la valeur true est affectée, le contrôle est un contrôle de type conteneur.

DoubleBuffer

Si la valeur true est affectée, le dessin s'effectue dans une mémoire tampon ; une fois terminé, le résultat s'affiche à l'écran.La double mise en mémoire tampon empêche le scintillement survenant lorsque le contrôle se redessine.Si vous affectez la valeur true à DoubleBuffer, vous devez également affecter la valeur true à UserPaint et AllPaintingInWmPaint.

EnableNotifyMessage

Si true est affecté, alors la méthode OnNotifyMessage est appelée à chaque message envoyé au WndProc du contrôle. false est affecté par défaut à ce style. EnableNotifyMessage ne fonctionne pas en situation de confiance partielle.

FixedHeight

Si la valeur true est affectée, le contrôle possède une hauteur fixe lors de la mise à l'échelle automatique.Par exemple, si une opération de disposition essaie de rajuster la taille du contrôle pour accueillir un nouveau Font, le Height du contrôle ne change pas.

FixedWidth

Si la valeur true est affectée, le contrôle possède une largeur fixe lors de la mise à l'échelle automatique.Par exemple, si une opération de disposition essaie de rajuster la taille du contrôle pour accueillir un nouveau Font, le Width du contrôle ne change pas.

Opaque

Si la valeur true est affectée, le contrôle est dessiné de manière opaque et l'arrière-plan n'est pas peint.

OptimizedDoubleBuffer

Si la valeur true est affectée, le contrôle est dessiné dans une mémoire tampon plutôt que directement à l'écran, ce qui peut réduire le scintillement.Si vous affectez la valeur true à cette propriété, vous devez également affecter la valeur true à AllPaintingInWmPaint.

ResizeRedraw

Si la valeur true est affectée, le contrôle est redessiné au cours de son redimensionnement.

Selectable

Si la valeur est true, le contrôle peut recevoir le focus.

StandardClick

Si la valeur true est affectée, le contrôle implémente le comportement Click standard.

StandardDoubleClick

Si la valeur true est affectée, le contrôle implémente le comportement DoubleClick standard.Ce style est ignoré si le bit StandardClick n'a pas la valeur true.

SupportsTransparentBackColor

Si la valeur true est affectée, le contrôle accepte BackColor avec un composant alpha inférieur à 255 pour simuler la transparence.La transparence ne sera simulée que si true est affecté au bit UserPaint et si le contrôle parent est dérivé de Control.

UserMouse

Si la valeur true est affectée, le contrôle effectue son propre traitement de souris et les événements de la souris ne sont pas gérés par le système d'exploitation.

UserPaint

Si la valeur true est affectée, le contrôle se peint lui-même, sans l'intervention du système d'exploitation.Si false, l'événement Paint n'est pas déclenché.Ce style ne s'applique qu'aux classes dérivées de Control.

UseTextForAccessibility

Spécifie que la valeur de la propriété Text du contrôle, si elle est définie, détermine le nom Active Accessibility par défaut du contrôle et la touche de raccourci.

Les contrôles utilisent cette énumération dans diverses propriétés et méthodes pour spécifier des fonctionnalités.Un contrôle peut activer un style en appelant la méthode SetStyle et en passant les bits ControlStyles appropriés, ainsi que la valeur booléenne à attribuer aux bits.Par exemple, la ligne suivante de code Visual Basic active la double mise en mémoire tampon.

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

Si le bit AllPaintingInWmPaint a la valeur true, alors le message de fenêtre WM_ERASEBKGND est ignoré ; en outre, les méthodes OnPaintBackground et OnPaint sont toutes deux directement appelées à partir du message de fenêtre WM_PAINT.Le scintillement s'en trouve généralement réduit, à moins que d'autres contrôles n'envoient le message de fenêtre WM_ERASEBKGND au contrôle.Vous pouvez envoyer le message de fenêtre WM_ERASEBKGRND pour donner un effet pseudo-transparent analogue à SupportsTransparentBackColor (ToolBar avec une apparence à deux dimensions, par exemple).

Pour totalement activer la double mise en mémoire tampon, vous pouvez affecter true aux bits OptimizedDoubleBuffer et AllPaintingInWmPaint.Toutefois, la méthode recommandée pour la double mise en mémoire tampon, qui génère le même résultat, consiste à affecter la valeur true à la propriété DoubleBuffered du contrôle.

Si le bit SupportsTransparentBackColor a la valeur true et si une couleur dont le composant alpha est inférieur à 255 est affectée à BackColor, alors OnPaintBackground simulera la transparence en demandant à son contrôle parent de peindre l'arrière-plan.Il ne s'agit pas d'une véritable transparence.

System_CAPS_noteRemarque

En présence d'un autre contrôle entre le contrôle et son parent, le contrôle en cours n'affichera pas le contrôle au milieu.

Lorsque le bit UserMouse a la valeur true, les méthodes suivantes sont encore appelées : Control.OnMouseDown, Control.OnMouseUp, Control.OnMouseEnter, Control.OnMouseMove, Control.OnMouseHover, Control.OnMouseLeave et Control.OnMouseWheel.

À la suite d'un clic sur le contrôle, si le bit StandardClick a la valeur true, la méthode Control.OnClick est appelée et déclenche l'événement Control.Click.À la suite d'un double-clic sur le contrôle, si les deux bits StandardClick et StandardDoubleClick ont la valeur true, le clic est passé à l'événement DoubleClick.La méthode Control.OnDoubleClick est alors appelée et déclenche l'événement Control.DoubleClick.Cependant, le contrôle peut appeler OnClick ou OnDoubleClick directement, quelles que soient les valeurs de bit StandardClick et StandardDoubleClick.Pour plus d'informations sur les comportements de clic et de double-clic sur un contrôle, consultez les rubriques Control.Click et Control.DoubleClick.

Lorsque le bit UseTextForAccessibility est défini et qu'il existe 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 Active Accessibility par défaut du contrôle et la touche de raccourci.Sinon, le texte du contrôle Label précédent sera utilisé à la place.Ce style a la valeur par défaut.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.

Remarques à l'attention des héritiers :

L'héritage d'un contrôle Windows Forms standard et le remplacement des valeurs de bit StandardClick ou StandardDoubleClick par true peut aboutir à un comportement inattendu ou ne produire aucun effet si le contrôle ne prend pas en charge les événements Click ou DoubleClick.

L'exemple suivant illustre l'utilisation de ControlStyles avec l'événement StyleChanged.

// 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");
}

.NET Framework
Disponible depuis 1.1
Retour au début
Afficher:
© 2016 Microsoft