ControlStyles Enumeration

Definition

Gibt den Stil und das Verhalten eines Steuerelements an.

Diese Enumeration unterstützt eine bitweise Kombination ihrer Memberwerte.

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

Felder

AllPaintingInWmPaint 8192

Wenn true, ignoriert das Steuerelement die Fensternachricht WM_ERASEBKGND, um Flimmern zu verringern. Dieses Format sollte nur angewendet werden, wenn das UserPaint-Bit auf true festgelegt ist.

ApplyThemingImplicitly 524288
CacheText 16384

Wenn true, behält das Steuerelement eine Kopie des Texts bei, anstatt ihn bei Bedarf jeweils vom Handle abzurufen. Dieses Format hat den Standardwert false. Dieses Verhalten verbessert die Leistung, macht es jedoch schwierig, den Text synchronisiert zu halten.

ContainerControl 1

Wenn true, ist das Steuerelement ein containerähnliches Steuerelement.

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. Doppelte Pufferung verhindert durch das Neuzeichnen des Steuerelements verursachtes Flimmern. Wenn Sie DoubleBuffer auf true festlegen, sollten Sie auch UserPaint und AllPaintingInWmPaint auf true festlegen.

EnableNotifyMessage 32768

Wenn true, wird die OnNotifyMessage(Message)-Methode für jede Nachricht an die WndProc(Message) des Steuerelements gesendet. Dieses Format hat den Standardwert false. EnableNotifyMessage funktioniert nicht unter teilweiser Vertrauenswürdigkeit.

FixedHeight 64

Wenn true, hat das Steuerelement eine feste Höhe, wenn es automatisch skaliert wird. Wenn z.B. ein Layoutvorgang versucht, das Steuerelement zur Anpassung an eine neue Font neu zu skalieren, bleibt die Height des Steuerelements unverändert.

FixedWidth 32

Wenn true, hat das Steuerelement eine feste Breite, wenn es automatisch skaliert wird. Wenn z.B. ein Layoutvorgang versucht, das Steuerelement zur Anpassung an eine neue Font neu zu skalieren, bleibt die Width des Steuerelements unverändert.

Opaque 4

Wenn true, wird das Steuerelement nicht transparent und der Hintergrund gar nicht gezeichnet.

OptimizedDoubleBuffer 131072

Wenn true, wird das Steuerelement zuerst in einen Puffer gezeichnet anstatt direkt auf den Bildschirm, weil so das Flimmern verringert werden kann. Wenn Sie diese Eigenschaft auf true festlegen, sollten Sie auch AllPaintingInWmPaint auf true festlegen.

ResizeRedraw 16

Wenn true, wird das Steuerelement neu gezeichnet, wenn seine Größe geändert wird.

Selectable 512

Wenn true, kann das Steuerelement den Fokus erhalten.

StandardClick 256

Wenn true, implementiert das Steuerelement das standardmäßige Click-Verhalten.

StandardDoubleClick 4096

Wenn true, implementiert das Steuerelement das standardmäßige DoubleClick-Verhalten. Dieses Format wird ignoriert, wenn das StandardClick-Bit nicht auf true festgelegt ist.

SupportsTransparentBackColor 2048

Wenn true, akzeptiert das Steuerelement eine BackColor mit einer Alphakomponente, die kleiner als 255 ist, um Transparenz zu simulieren. Transparenz wird nur simuliert, wenn das UserPaint-Bit auf true festgelegt und das übergeordnete Steuerelement von Control abgeleitet wird.

UserMouse 1024

Wenn true, führt das Steuerelement seine eigene Mausverarbeitung durch, und Mausereignisse werden nicht vom Betriebssystem behandelt.

UserPaint 2

Wenn true, zeichnet sich das Steuerelement selbst, anstatt vom Betriebssystem gezeichnet zu werden. Wenn false, wird das Paint-Ereignis nicht ausgelöst. Dieses Format gilt nur für Klassen, die von Control abgeleitet sind.

UseTextForAccessibility 262144

Gibt an, dass der Wert der Text-Eigenschaft des Steuerelements, wenn festgelegt, den standardmäßigen Active Accessibility-Namen und die Tastenkombination des Steuerelements bestimmt.

Beispiele

Im folgenden Beispiel wird die Verwendung von ControlStyles mit dem StyleChanged -Ereignis veranschaulicht.

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 Funktionen anzugeben. Ein Steuerelement kann einen Stil aktivieren, indem es die SetStyle -Methode aufruft und das entsprechende ControlStyles Bit (oder bits) und den booleschen Wert übergibt, auf den die Bits festgelegt werden sollen. Beispielsweise würde die folgende Zeile von Visual Basic-Code die Doppelpufferung ermöglichen.

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

Wenn das AllPaintingInWmPaint-Bit auf truefestgelegt ist, wird die Fenstermeldung WM_ERASEBKGND ignoriert, und beide OnPaintBackgroundOnPaint Methoden werden direkt aus der Fenstermeldung WM_PAINT aufgerufen. Dadurch wird das Flackern in der Regel verringert, es sei denn, andere Steuerelemente senden die Fensternachricht WM_ERASEBKGND an das Steuerelement. Sie können die Fensternachricht WM_ERASEBKGRND senden, um einen pseudotransparenten Effekt ähnlich wie SupportsTransparentBackColor zu erzielen. Dies geschieht beispielsweise bei einem ToolBar mit flachem Erscheinungsbild.

Um die Doppelpufferung vollständig zu aktivieren, können Sie die Bits OptimizedDoubleBuffer und AllPaintingInWmPaint auf truefestlegen. Die bevorzugte Methode zum Aktivieren der doppelten Pufferung, die das gleiche Ergebnis ergibt, besteht jedoch darin, die DoubleBuffered -Eigenschaft für das -Steuerelement auf festzulegen true.

Wenn das SupportsTransparentBackColor-Bit auf truefestgelegt ist und auf BackColor eine Farbe festgelegt ist, deren Alphakomponente kleiner als 255 ist, simuliert die Transparenz, indem das übergeordnete Steuerelement aufgefordert wird, OnPaintBackground den Hintergrund zu zeichnen. Das ist keine wahre Transparenz.

Hinweis

Wenn zwischen dem Steuerelement und dem übergeordneten Steuerelement ein anderes Steuerelement vorhanden ist, wird das Steuerelement im aktuellen Steuerelement nicht in der Mitte angezeigt.

Wenn das UserMouse-Bit auf truefestgelegt ist, werden die folgenden Methoden weiterhin aufgerufen: Control.OnMouseDown, , Control.OnMouseEnterControl.OnMouseUp, Control.OnMouseMove, Control.OnMouseHover, Control.OnMouseLeaveund Control.OnMouseWheel.

Wenn auf das Steuerelement geklickt wird, wird das StandardClick-Bit auf true die Control.OnClick Methode aufgerufen und löst das Control.Click Ereignis aus. Wenn auf das Steuerelement doppelt geklickt wird und sowohl die Bits StandardClick als auch StandardDoubleClick auf truefestgelegt sind, wird der Klick an das DoubleClick Ereignis übergeben. Dann wird die Control.OnDoubleClick -Methode aufgerufen und löst das Control.DoubleClick -Ereignis aus. Das Steuerelement kann jedoch unabhängig von den Bitwerten StandardClick und StandardDoubleClick direkt oder aufrufen OnClickOnDoubleClick . Weitere Informationen zu Steuerelement-Klick- und Doppelklickverhalten finden Sie in den Control.Click Themen und Control.DoubleClick .

Wenn das UseTextForAccessibility-Bit festgelegt ist und ein Wert in der -Eigenschaft des Steuerelements Text vorhanden ist, bestimmt der Wert der Eigenschaft dieses Text Steuerelements den Standardmäßignamen für aktive Barrierefreiheit und die Tastenkombination des Steuerelements. Andernfalls wird stattdessen der Text des vorherigen Label Steuerelements verwendet. Diese Formatvorlage ist standardmäßig festgelegt. Bestimmte integrierte Steuerelementtypen, z TextBox . B. und ComboBox, setzen diese Formatvorlage zurück, sodass die Text Eigenschaft dieser Steuerelemente nicht von der aktiven Barrierefreiheit verwendet wird.

Gilt für:

Weitere Informationen