ControlStyles Enumeration

Definition

Gibt den Stil und das Verhalten eines Steuerelements an.Specifies the style and behavior of a control.

Diese Enumeration weist ein FlagsAttribute-Attribut auf, die eine bitweise Kombination der Memberwerte zulässt.

public enum class ControlStyles
[System.Flags]
public enum ControlStyles
type ControlStyles = 
Public Enum ControlStyles
Vererbung
ControlStyles
Attribute

Felder

AllPaintingInWmPaint 8192

Wenn true, ignoriert das Steuerelement die Fensternachricht WM_ERASEBKGND, um Flimmern zu verringern.If true, the control ignores the window message WM_ERASEBKGND to reduce flicker. Dieses Format sollte nur angewendet werden, wenn das UserPaint-Bit auf true festgelegt ist.This style should only be applied if the UserPaint bit is set to true.

CacheText 16384

Wenn true, behält das Steuerelement eine Kopie des Texts bei, anstatt ihn bei Bedarf jeweils vom Handle abzurufen.If true, the control keeps a copy of the text rather than getting it from the Handle each time it is needed. Dieses Format hat den Standardwert false.This style defaults to false. Dieses Verhalten verbessert die Leistung, macht es jedoch schwierig, den Text synchronisiert zu halten.This behavior improves performance, but makes it difficult to keep the text synchronized.

ContainerControl 1

Wenn true, ist das Steuerelement ein containerähnliches Steuerelement.If true, the control is a container-like control.

DoubleBuffer 65536

Wenn true, wird das Zeichnen in einem Puffer ausgeführt, und nachdem der Vorgang abgeschlossen ist, wird das Ergebnis auf dem Bildschirm ausgegeben.If true, drawing is performed in a buffer, and after it completes, the result is output to the screen. Doppelte Pufferung verhindert durch das Neuzeichnen des Steuerelements verursachtes Flimmern.Double-buffering prevents flicker caused by the redrawing of the control. Wenn Sie DoubleBuffer auf true festlegen, sollten Sie auch UserPaint und AllPaintingInWmPaint auf true festlegen.If you set DoubleBuffer to true, you should also set UserPaint and AllPaintingInWmPaint to true.

EnableNotifyMessage 32768

Wenn true, wird die OnNotifyMessage(Message)-Methode für jede Nachricht an die WndProc(Message) des Steuerelements gesendet.If true, the OnNotifyMessage(Message) method is called for every message sent to the control's WndProc(Message). Dieses Format hat den Standardwert false.This style defaults to false. EnableNotifyMessage funktioniert nicht unter teilweiser Vertrauenswürdigkeit.EnableNotifyMessage does not work in partial trust.

FixedHeight 64

Wenn true, hat das Steuerelement eine feste Höhe, wenn es automatisch skaliert wird.If true, the control has a fixed height when auto-scaled. Wenn z.B. ein Layoutvorgang versucht, das Steuerelement zur Anpassung an eine neue Font neu zu skalieren, bleibt die Height des Steuerelements unverändert.For example, if a layout operation attempts to rescale the control to accommodate a new Font, the control's Height remains unchanged.

FixedWidth 32

Wenn true, hat das Steuerelement eine feste Breite, wenn es automatisch skaliert wird.If true, the control has a fixed width when auto-scaled. Wenn z.B. ein Layoutvorgang versucht, das Steuerelement zur Anpassung an eine neue Font neu zu skalieren, bleibt die Width des Steuerelements unverändert.For example, if a layout operation attempts to rescale the control to accommodate a new Font, the control's Width remains unchanged.

Opaque 4

Wenn true, wird das Steuerelement nicht transparent und der Hintergrund gar nicht gezeichnet.If true, the control is drawn opaque and the background is not painted.

OptimizedDoubleBuffer 131072

Wenn true, wird das Steuerelement zuerst in einen Puffer gezeichnet anstatt direkt auf den Bildschirm, weil so das Flimmern verringert werden kann.If true, the control is first drawn to a buffer rather than directly to the screen, which can reduce flicker. Wenn Sie diese Eigenschaft auf true festlegen, sollten Sie auch AllPaintingInWmPaint auf true festlegen.If you set this property to true, you should also set the AllPaintingInWmPaint to true.

ResizeRedraw 16

Wenn true, wird das Steuerelement neu gezeichnet, wenn seine Größe geändert wird.If true, the control is redrawn when it is resized.

Selectable 512

Wenn true, kann das Steuerelement den Fokus erhalten.If true, the control can receive focus.

StandardClick 256

Wenn true, implementiert das Steuerelement das standardmäßige Click-Verhalten.If true, the control implements the standard Click behavior.

StandardDoubleClick 4096

Wenn true, implementiert das Steuerelement das standardmäßige DoubleClick-Verhalten.If true, the control implements the standard DoubleClick behavior. Dieses Format wird ignoriert, wenn das StandardClick-Bit nicht auf true festgelegt ist.This style is ignored if the StandardClick bit is not set to true.

SupportsTransparentBackColor 2048

Wenn true, akzeptiert das Steuerelement eine BackColor mit einer Alphakomponente, die kleiner als 255 ist, um Transparenz zu simulieren.If true, the control accepts a BackColor with an alpha component of less than 255 to simulate transparency. Transparenz wird nur simuliert, wenn das UserPaint-Bit auf true festgelegt und das übergeordnete Steuerelement von Control abgeleitet wird.Transparency will be simulated only if the UserPaint bit is set to true and the parent control is derived from Control.

UserMouse 1024

Wenn true, führt das Steuerelement seine eigene Mausverarbeitung durch, und Mausereignisse werden nicht vom Betriebssystem behandelt.If true, the control does its own mouse processing, and mouse events are not handled by the operating system.

UserPaint 2

Wenn true, zeichnet sich das Steuerelement selbst, anstatt vom Betriebssystem gezeichnet zu werden.If true, the control paints itself rather than the operating system doing so. Wenn false, wird das Paint-Ereignis nicht ausgelöst.If false, the Paint event is not raised. Dieses Format gilt nur für Klassen, die von Control abgeleitet sind.This style only applies to classes derived from Control.

UseTextForAccessibility 262144

Gibt an, dass der Wert der Text-Eigenschaft des Steuerelements, sofern festgelegt, den standardmäßigen Active Accessibility-Namen und die Tastenkombination des Steuerelements bestimmt.Specifies that the value of the control's Text property, if set, determines the control's default Active Accessibility name and shortcut key.

Beispiele

Im folgenden Beispiel wird die Verwendung von ControlStyles mit dem StyleChanged-Ereignis veranschaulicht.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

Hinweise

Steuerelemente verwenden diese Enumeration in verschiedenen Eigenschaften und Methoden, um die Funktionalität anzugeben.Controls use this enumeration in various properties and methods to specify functionality. Ein Steuerelement kann einen Stil aktivieren, indem er die SetStyle-Methode aufrufen und den entsprechenden ControlStyles Bit (oder Bits) und den booleschen Wert übergibt, um die Bits (n) auf festzulegen.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. Beispielsweise würde die folgende Zeile Visual Basic Codes die doppelte Pufferung ermöglichen.For example, the following line of Visual Basic code would enable double-buffering.

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

Wenn das AllPaintingInWmPaint-Bit auf truefestgelegt ist, wird die Fenster Meldung WM_ERASEBKGND ignoriert, und sowohl OnPaintBackground-als auch OnPaint-Methoden werden direkt aus der Fenster Nachrichten WM_PAINT aufgerufen.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. Dies reduziert im allgemeinen Flimmern, es sei denn, andere Steuerelemente senden die Fenster Meldung WM_ERASEBKGND an das Steuerelement.This generally reduces flicker unless other controls send the window message WM_ERASEBKGND to the control. Sie können die Fenster Meldung WM_ERASEBKGRND senden, um einen pseudo transparenten Effekt zu erzielen, der "SupportsTransparentBackColor" ähnelt. Dies ist beispielsweise bei einer ToolBar mit flacher Darstellung der gibt.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.

Um die doppelte Pufferung vollständig zu aktivieren, können Sie die Bits OptimizedDoubleBuffer und AllPaintingInWmPaint auf truefestlegen.To fully enable double-buffering, you can set the OptimizedDoubleBuffer and AllPaintingInWmPaint bits to true. Die bevorzugte Methode zum Aktivieren der doppelten Pufferung, die das gleiche Ergebnis ergibt, besteht jedoch darin, die DoubleBuffered-Eigenschaft für das Steuerelement auf truefestzulegen.However the preferred method for enabling double buffering, which yields the same result, is to set the DoubleBuffered property for the control to true.

Wenn das SupportsTransparentBackColor-Bit auf truefestgelegt ist und die BackColor auf eine Farbe festgelegt ist, deren Alpha Komponente kleiner als 255 ist, wird die Transparenz von OnPaintBackground simuliert, indem das übergeordnete Steuerelement zum Zeichnen des Hintergrunds aufgefordert wird.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. Dies ist keine echte Transparenz.This is not true transparency.

Hinweis

Wenn zwischen dem Steuerelement und seinem übergeordneten Steuerelement ein anderes Steuerelement vorhanden ist, wird das Steuerelement nicht in der Mitte des aktuellen Steuer Elements angezeigt.If there is another control between the control and its parent, the current control will not show the control in the middle.

Wenn das UserMouse-Bit auf truefestgelegt ist, werden die folgenden Methoden weiterhin aufgerufen: Control.OnMouseDown, Control.OnMouseUp, Control.OnMouseEnter, Control.OnMouseMove, Control.OnMouseHover, Control.OnMouseLeaveund 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.

Wenn auf das Steuerelement geklickt wird, wenn das StandardClick-Bit auf festgelegt ist true wird die Control.OnClick-Methode aufgerufen, und das Control.Click-Ereignis wird ausgelöst.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. Wenn auf das Steuerelement Doppel geklickt wird und sowohl die StandardClick-als auch die StandardDoubleClick-Bits auf truefestgelegt ist, wird der Klick an das DoubleClick-Ereignis weitergegeben.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. Anschließend wird die Control.OnDoubleClick-Methode aufgerufen und löst das Control.DoubleClick-Ereignis aus.Then the Control.OnDoubleClick method is called and it raises the Control.DoubleClick event. Allerdings kann das Steuerelement OnClick oder OnDoubleClick unabhängig von den Bitwerten StandardClick und StandardDoubleClick direkt aufzurufen.However, the control can call OnClick or OnDoubleClick directly regardless of the StandardClick and StandardDoubleClick bit values. Weitere Informationen zur Steuerung von Klick-und Doppelklick Verhalten finden Sie in den Themen Control.Click und Control.DoubleClick.For more information on control click and double click behaviors, see the Control.Click and Control.DoubleClick topics.

Wenn das UseTextForAccessibility-Bit festgelegt ist und ein Wert in der Text-Eigenschaft des Steuer Elements vorhanden ist, bestimmt der Wert der Text-Eigenschaft dieses Steuer Elements den Standard Active Accessibility Namen und die Tastenkombination des Steuer Elements.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. Andernfalls wird stattdessen der Text des vorangehenden Label Steuer Elements verwendet.Otherwise, the text of the preceding Label control will be used instead. Dieser Stil ist standardmäßig festgelegt.This style is set by default. Bestimmte integrierte Steuerelement Typen, z. b. TextBox und ComboBox, setzen diesen Stil zurück, damit die Text-Eigenschaft dieser Steuerelemente nicht von Active Accessibility verwendet wird.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.

Gilt für:

Siehe auch