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
AllPaintingInWmPaint | 8192 | Si |
CacheText | 16384 | Si |
ContainerControl | 1 | Si |
DoubleBuffer | 65536 | Si |
EnableNotifyMessage | 32768 | Si |
FixedHeight | 64 | Si |
FixedWidth | 32 | Si |
Opaque | 4 | Si |
OptimizedDoubleBuffer | 131072 | Si |
ResizeRedraw | 16 | Si |
Selectable | 512 | Si |
StandardClick | 256 | Si |
StandardDoubleClick | 4096 | Si |
SupportsTransparentBackColor | 2048 | Si |
UserMouse | 1024 | Si |
UserPaint | 2 | Si |
UseTextForAccessibility | 262144 | Spécifie que la valeur de la propriété |
Exemples
L’exemple suivant illustre une utilisation de ControlStyles avec 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 diverses 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 sur laquelle définir le ou les bits. Par exemple, la ligne suivante de code Visual Basic permet la double mise en mémoire tampon.
myControl.SetStyle(UserPaint Or AllPaintingInWmPaint Or DoubleBuffer, True)
Si le bit AllPaintingInWmPaint a la true
valeur , le message de fenêtre WM_ERASEBKGND est ignoré et les OnPaintBackground deux méthodes et OnPaint 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, un avec une ToolBar apparence plate fait cela.
Pour activer entièrement la double mise en mémoire tampon, vous pouvez définir les bits OptimizedDoubleBuffer et AllPaintingInWmPaint sur true
. Toutefois, la méthode recommandée pour activer la double mise en mémoire tampon, qui produit le même résultat, consiste à affecter à la DoubleBuffered propriété du contrôle la valeur true
.
Si le bit SupportsTransparentBackColor a la true
valeur , et si est défini sur une couleur dont le BackColor composant alpha est inférieur à 255, OnPaintBackground simule la transparence en demandant à son contrôle parent de peindre l’arrière-plan. Ce n’est pas une véritable transparence.
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.
Lorsque le bit UserMouse est défini sur true
, les méthodes suivantes sont toujours appelées : Control.OnMouseDown, Control.OnMouseUp, Control.OnMouseEnter, Control.OnMouseHoverControl.OnMouseMove, Control.OnMouseLeave, et Control.OnMouseWheel.
Lorsque vous cliquez sur le contrôle, si le bit StandardClick est défini sur true
la Control.OnClick méthode est appelée et déclenche l’événement Control.Click . Lorsque le contrôle est double-cliqué et que les bits StandardClick et StandardDoubleClick sont définis true
sur , 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 les comportements de clic et de double-clic de contrôle, consultez les Control.Click rubriques et Control.DoubleClick .
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 Text
ce contrôle détermine le nom d’accessibilité active et la touche de raccourci par défaut du contrôle. Sinon, le texte du contrôle précédent Label est 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 Active Accessibility.