Freigeben über


ControlStyles-Enumeration

Gibt Stil und Verhalten eines Steuerelements an.

Diese Enumeration verfügt über ein FlagsAttribute -Attribut, das die bitweise Kombination der Memberwerte zulässt.

Namespace: System.Windows.Forms
Assembly: System.Windows.Forms (in system.windows.forms.dll)

Syntax

'Declaration
<FlagsAttribute> _
Public Enumeration ControlStyles
'Usage
Dim instance As ControlStyles
[FlagsAttribute] 
public enum ControlStyles
[FlagsAttribute] 
public enum class ControlStyles
/** @attribute FlagsAttribute() */ 
public enum ControlStyles
FlagsAttribute 
public enum ControlStyles

Member

  Membername Beschreibung
AllPaintingInWmPaint Wenn true, ignoriert das Steuerelement die WM_ERASEBKGND-Fenstermeldung, um das Flimmern zu verringern. Dieses Format sollte nur angewendet werden, wenn das UserPaint-Bit auf true festgelegt wurde. 
CacheText Wenn true, bewahrt das Steuerelement eine Kopie des Textes auf, sodass dieser nicht jedes Mal, wenn er benötigt wird, aus Handle abgerufen werden muss. Dieser Stil hat den Standardwert false. Dieses Verhalten verbessert die Leistung, erschwert jedoch die Textsynchronisierung. 
ContainerControl Wenn true, ist das Steuerelement ein containerartiges Steuerelement. 
DoubleBuffer Wenn true, wird der Zeichenvorgang in einem Puffer ausgeführt und das Ergebnis nach Beendigung auf dem Bildschirm ausgegeben. Durch Doppelpufferung wird Flimmern durch das Neuzeichnen des Steuerelements verhindert. Wenn Sie DoubleBuffer auf true festlegen, sollten Sie auch UserPaint und AllPaintingInWmPaint auf true festlegen. 
EnableNotifyMessage Wenn true, wird die OnNotifyMessage-Methode für jede Meldung aufgerufen, die an WndProc des Steuerelements gesendet wird. Dieser Stil besitzt den Standardwert false. EnableNotifyMessage funktioniert nicht unter teilweiser Vertrauenswürdigkeit. 
FixedHeight Wenn true, hat das Steuerelement bei automatischer Skalierung eine feste Höhe. Wenn z. B. ein Layoutvorgang versucht, das Steuerelement für einen neuen Font zu skalieren, bleibt die Height des Steuerelements unverändert. 
FixedWidth Wenn true, hat das Steuerelement bei automatischer Skalierung eine feste Breite. Wenn z. B. ein Layoutvorgang versucht, das Steuerelement für einen neuen Font zu skalieren, bleibt die Width des Steuerelements unverändert. 
Opaque Wenn true, wird das Steuerelement nicht transparent gezeichnet. Der Hintergrund wird nicht gezeichnet. 
OptimizedDoubleBuffer Wenn true, wird das Steuerelement zunächst in einem Puffer und nicht direkt auf dem Bildschirm gezeichnet, wodurch ein Flimmern verringert werden kann. Wenn Sie diese Eigenschaft auf true festlegen, sollten Sie auch AllPaintingInWmPaint auf true festlegen. 
ResizeRedraw Wenn true, wird das Steuerelement bei Größenänderung neu gezeichnet. 
Selectable Wenn true, kann das Steuerelement den Fokus erhalten. 
StandardClick Wenn true, implementiert das Steuerelement das Standard-Click-Verhalten. 
StandardDoubleClick Wenn true, implementiert das Steuerelement das Standard-DoubleClick-Verhalten. Dieses Format wird ignoriert, wenn das StandardClick-Bit nicht auf true festgelegt wurde. 
SupportsTransparentBackColor Wenn true, akzeptiert das Steuerelement zum Simulieren von Transparenz eine BackColor mit einer Alpha-Komponente, die kleiner als 255 ist. Transparenz wird nur simuliert, wenn das UserPaint-Bit auf true festgelegt ist und das übergeordnete Steuerelement von Control abgeleitet wurde. 
UserMouse Wenn true, führt das Steuerelement eine eigene Verarbeitung von Mauseingaben durch. Mausereignisse werden nicht vom Betriebssystem behandelt. 
UserPaint Wenn true, zeichnet sich das Steuerelement selbst, sodass es nicht vom Betriebssystem gezeichnet werden muss. Wenn false, wird das Paint-Ereignis nicht ausgelöst. Dieser Stil wird nur auf von Control abgeleitete Klassen angewendet. 
UseTextForAccessibility Gibt an, dass der Wert der Text-Eigenschaft des Steuerelements, sofern festgelegt, den Namen und die Tastenkombination für aktive Eingabehilfen des Steuerelements bestimmt. 

Hinweise

Steuerelemente verwenden diese Enumeration in verschiedenen Eigenschaften und Methoden zum Angeben der Funktionen. Ein Steuerelement kann ein Format aktivieren, indem es die SetStyle-Methode aufruft und die entsprechenden ControlStyles-Bits sowie den booleschen Wert übergibt, auf den das bzw. die Bit(s) festgelegt werden sollen. Die folgende Visual Basic-Codezeile aktiviert z. B. die Doppelpufferung.

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

Wenn das AllPaintingInWmPaint-Bit auf true festgelegt ist, wird die WM_ERASEBKGND-Fenstermeldung ignoriert, und sowohl die OnPaintBackground-Methode als auch die OnPaint-Methode werden direkt aus der WM_PAINT-Fenstermeldung aufgerufen. Dadurch wird das Flimmern i. d. R. verringert, sofern keine anderen Steuerelemente die WM_ERASEBKGND-Fenstermeldung an das Steuerelement senden. Sie können die WM_ERASEBKGRND-Fenstermeldung senden, um einen pseudotransparenten Effekt, ähnlich wie SupportsTransparentBackColor, zu erzeugen. Dies wird z. B. bei ToolBar in flacher Darstellung verwendet.

Damit die Doppelpufferung vollständig aktiviert wird, können Sie auch die Bits OptimizedDoubleBuffer und AllPaintingInWmPaint auf true festlegen. Das bevorzugte Verfahren zum Aktivieren der Doppelpufferung mit gleichem Ergebnis besteht jedoch darin, die DoubleBuffered-Eigenschaft für das Steuerelement auf true festzulegen.

Wenn das SupportsTransparentBackColor-Bit auf true und die BackColor auf eine Farbe festgelegt ist, deren Alpha-Komponente kleiner als 255 ist, simuliert OnPaintBackground Transparenz, indem das übergeordnete Element zum Zeichen des Hintergrundes aufgefordert wird. Hierbei handelt es sich jedoch nicht um echte Transparenz.

Hinweis

Wenn zwischen dem Steuerelement und dem übergeordneten Steuerelement ein weiteres vorhanden ist, zeigt das aktuelle Steuerelement das mittlere Steuerelement nicht an.

Auch wenn das UserMouse-Bit auf true festgelegt wurde, werden die folgenden Methoden aufgerufen: Control.OnMouseDown, Control.OnMouseUp, Control.OnMouseEnter, Control.OnMouseMove, Control.OnMouseHover, Control.OnMouseLeave und Control.OnMouseWheel.

Wenn das StandardClick-Bit auf true festgelegt wurde, wird beim Klicken auf das Steuerelement die Control.OnClick-Methode aufgerufen, die das Control.Click-Ereignis auslöst. Wenn das StandardClick-Bit und das StandardDoubleClick-Bit auf true festgelegt wurden, wird ein Doppelklick auf das Steuerelement an das DoubleClick-Ereignis übergeben. Anschließend wird die Control.OnDoubleClick-Methode aufgerufen, die das Control.DoubleClick-Ereignis auslöst. Das Steuerelement kann aber auch unabhängig vom StandardClick-Bitwert und vom StandardDoubleClick-Bitwert direkt OnClick oder OnDoubleClick aufrufen. Weitere Informationen über das Verhalten von Steuerelementen beim Klicken bzw. Doppelklicken finden Sie in den Themen Control.Click und Control.DoubleClick.

Wenn das UseTextForAccessibility-Bit festgelegt ist und die Text-Eigenschaft des Steuerelements einen Wert enthält, bestimmt der Wert der Text-Eigenschaft des Steuerelements den Namen und die Tastenkombination für aktive Eingabehilfen. Andernfalls wird stattdessen der Text des vorangehenden Label-Steuerelements verwendet. Dieses Format ist standardmäßig festgelegt. Bestimmte integrierte Steuerelementtypen, z. B. TextBox und ComboBox, setzen dieses Format zurück, sodass die Text-Eigenschaft dieser Steuerelemente von aktiven Eingabehilfen nicht verwendet wird.

Hinweise für Erben Das Vererben eines Standard-Windows Forms-Steuerelements und das Ändern des StandardClick-Bitwerts oder des StandardDoubleClick-Bitwerts auf true kann zu unerwartetem Verhalten führen oder keine Auswirkungen haben, wenn das Steuerelement das Click-Ereignis und das DoubleClick-Ereignis nicht unterstützt.

Beispiel

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

' 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 'MyForm_Load

Private Sub RegisterEventHandler()
   AddHandler Me.StyleChanged, AddressOf MyForm_StyleChanged
End Sub 'RegisterEventHandler

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

Plattformen

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile für Pocket PC, Windows Mobile für Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

Siehe auch

Referenz

System.Windows.Forms-Namespace
Control.SetStyle
Control.GetStyle