ControlStyles Énumération
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Spécifie le style et le comportement d’un contrôle.
Cette énumération prend en charge une combinaison au niveau du bit de ses valeurs membres.
public enum class ControlStyles
[System.Flags]
public enum ControlStyles
[<System.Flags>]
type ControlStyles =
Public Enum ControlStyles
- Héritage
- Attributs
Champs
| Nom | Valeur | Description |
|---|---|---|
| ContainerControl | 1 | Si |
| UserPaint | 2 | Si |
| Opaque | 4 | Si |
| ResizeRedraw | 16 | Si |
| FixedWidth | 32 | Si |
| FixedHeight | 64 | Si |
| StandardClick | 256 | Si |
| Selectable | 512 | Si |
| UserMouse | 1024 | Si |
| SupportsTransparentBackColor | 2048 | Si |
| StandardDoubleClick | 4096 | Si |
| AllPaintingInWmPaint | 8192 | Si |
| CacheText | 16384 | Si |
| EnableNotifyMessage | 32768 | Si |
| DoubleBuffer | 65536 | Si |
| OptimizedDoubleBuffer | 131072 | Si |
| UseTextForAccessibility | 262144 | Spécifie que la valeur de la propriété du |
| ApplyThemingImplicitly | 524288 | Pour certains modes de couleur liés à l’interface utilisateur (mode sombre/mode clair), les contrôles peuvent choisir d’appliquer automatiquement les thèmes appropriés. En particulier, les contrôles qui utilisent des barres de défilement gérées par le système peuvent tirer parti de ce paramètre. Notez que l’utilisation de ces paramètres entraîne l’inactivité d’un thème spécifique à certains convertisseurs win32. |
Exemples
L’exemple suivant illustre une utilisation de ControlStyles l’événement 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
Remarques
Les contrôles utilisent cette énumération dans différentes propriétés et méthodes pour spécifier des fonctionnalités. Un contrôle peut activer un style en appelant la SetStyle méthode et en transmettant le ou les bits appropriés ControlStyles et la valeur booléenne à laquelle définir le ou les bits. Par exemple, la ligne suivante de code Visual Basic activerait la mise en mémoire tampon double.
myControl.SetStyle(UserPaint Or AllPaintingInWmPaint Or DoubleBuffer, True)
Si le bit AllPaintingInWmPaint est défini truesur , le message de fenêtre WM_ERASEBKGND est ignoré et les deux OnPaintBackgroundOnPaint méthodes sont appelées directement à partir du message de fenêtre 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. Vous pouvez envoyer le message de fenêtre WM_ERASEBKGRND pour obtenir un effet pseudo-transparent similaire à SupportsTransparentBackColor ; par exemple, une ToolBar apparence plate fait cela.
Pour activer entièrement la mise en mémoire tampon double, vous pouvez définir les bits trueOptimizedDoubleBuffer et AllPaintingInWmPaint sur . Toutefois, la méthode préférée pour activer la mise en mémoire tampon double, qui génère le même résultat, consiste à définir la DoubleBuffered propriété du contrôle truesur .
Si le bit SupportsTransparentBackColor est défini truesur , et qu’il BackColor est défini 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. Cette transparence n’est pas vraie.
Note
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.
Lorsque le bit UserMouse est défini truesur , les méthodes suivantes sont toujours appelées : Control.OnMouseDown, , Control.OnMouseUp, Control.OnMouseEnter, Control.OnMouseMove, Control.OnMouseHover, , Control.OnMouseLeaveet Control.OnMouseWheel.
Lorsque le contrôle est cliqué, si le bit StandardClick est défini sur true la Control.OnClick méthode est appelé et qu’il déclenche l’événement Control.Click . Lorsque le contrôle est double-cliqué et que les bits StandardClick et StandardDoubleClick sont définis truesur , le clic est transmis à l’événement DoubleClick . Ensuite, la Control.OnDoubleClick méthode est appelée et déclenche l’événement Control.DoubleClick . Toutefois, le contrôle peut appeler OnClick ou OnDoubleClick directement quelles que soient les valeurs de bits StandardClick et StandardDoubleClick. Pour plus d’informations sur le contrôle, cliquez et double-cliquez sur les comportements, consultez les rubriques et Control.DoubleClick les Control.Click rubriques.
Lorsque le bit UseTextForAccessibility est défini et qu’il existe une valeur dans la propriété du Text contrôle, la valeur de la propriété de ce contrôle détermine le nom d’accessibilité actif et la touche de raccourci par défaut du Text contrôle. Sinon, le texte du contrôle précédent Label sera utilisé à la place. Ce style est défini par défaut. Certains types de contrôles intégrés, tels que TextBox et ComboBox, réinitialisent ce style afin que la Text propriété de ces contrôles ne soit pas utilisée par l’accessibilité active.