ControlStyles Enum
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Anger en kontrolls format och beteende.
Den här uppräkningen stöder en bitvis kombination av dess medlemsvärden.
public enum class ControlStyles
[System.Flags]
public enum ControlStyles
[<System.Flags>]
type ControlStyles =
Public Enum ControlStyles
- Arv
- Attribut
Fält
| Name | Värde | Description |
|---|---|---|
| ContainerControl | 1 | Om |
| UserPaint | 2 | Om |
| Opaque | 4 | Om |
| ResizeRedraw | 16 | Om |
| FixedWidth | 32 | Om |
| FixedHeight | 64 | Om |
| StandardClick | 256 | Om |
| Selectable | 512 | Om |
| UserMouse | 1024 | Om |
| SupportsTransparentBackColor | 2048 | Om |
| StandardDoubleClick | 4096 | Om |
| AllPaintingInWmPaint | 8192 | Om |
| CacheText | 16384 | Om |
| EnableNotifyMessage | 32768 |
|
| DoubleBuffer | 65536 | Om |
| OptimizedDoubleBuffer | 131072 | Om |
| UseTextForAccessibility | 262144 | Anger att värdet för kontrollens egenskap, om det anges, avgör kontrollens standardnamn för aktiv tillgänglighet och genvägsnyckel |
| ApplyThemingImplicitly | 524288 | För vissa användargränssnittsrelaterade färglägen (mörkt läge/ljust läge) kan kontroller välja att automatiskt tillämpa rätt teman. Särskilt kontroller som använder systemhanterade rullningslister kan dra nytta av den här inställningen. Observera att om du använder de här inställningarna blir vissa win32-kontroller inaktiva för ett specifikt tema. |
Exempel
I följande exempel visas hur händelsen ControlStyles användsStyleChanged.
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
Kommentarer
Kontroller använder den här uppräkningen i olika egenskaper och metoder för att ange funktioner. En kontroll kan aktivera ett format genom att anropa SetStyle metoden och skicka in lämplig ControlStyles bit (eller bitar) och det booleska värdet som bitarna ska anges till. Följande rad med Visual Basic kod skulle till exempel aktivera dubbel buffring.
myControl.SetStyle(UserPaint Or AllPaintingInWmPaint Or DoubleBuffer, True)
Om AllPaintingInWmPaint-biten är inställd på trueignoreras fönstermeddelandet WM_ERASEBKGND och båda OnPaintBackground metoderna anropas OnPaint direkt från fönstermeddelandet WM_PAINT. Detta minskar vanligtvis flimmer om inte andra kontroller skickar fönstermeddelandet WM_ERASEBKGND till kontrollen. Du kan skicka fönstermeddelandet WM_ERASEBKGRND för att uppnå en pseudotransparent effekt som liknar SupportsTransparentBackColor. till exempel en ToolBar med platt utseende gör detta.
Om du vill aktivera dubbel buffring fullt ut kan du ange bitarna OptimizedDoubleBuffer och AllPaintingInWmPaint till true. Den bästa metoden för att aktivera dubbel buffring, som ger samma resultat, är dock att ange DoubleBuffered egenskapen för kontrollen till true.
Om biten SupportsTransparentBackColor är inställd på true, och BackColor är inställd på en färg vars alfakomponent är mindre än 255, OnPaintBackground simuleras transparens genom att dess överordnade kontroll uppmanas att måla bakgrunden. Detta är inte sann öppenhet.
Note
Om det finns en annan kontroll mellan kontrollen och dess överordnade kontroll visas inte kontrollen i mitten.
När UserMouse-biten är inställd på trueanropas fortfarande följande metoder: Control.OnMouseDown, , Control.OnMouseUpControl.OnMouseEnter, Control.OnMouseMove, Control.OnMouseHover, Control.OnMouseLeaveoch Control.OnMouseWheel.
När kontrollen klickas, om StandardClick-biten true är inställd på Control.OnClick metoden anropas och den genererar Control.Click händelsen. När kontrollen dubbelklickas och både StandardClick- och StandardDoubleClick-bitarna är inställda truepå , skickas klicket vidare till DoubleClick händelsen.
Control.OnDoubleClick Sedan anropas metoden och den genererar Control.DoubleClick händelsen. Kontrollen kan dock anropa OnClick eller OnDoubleClick direkt oavsett bitvärdena StandardClick och StandardDoubleClick. Mer information om hur du klickar och dubbelklickar på kontroller finns i avsnitten Control.Click och Control.DoubleClick .
När biten UseTextForAccessibility har angetts och det finns ett värde i kontrollens Text egenskap, avgör värdet för kontrollens egenskap kontrollens standardnamn och genvägsnyckel Text för aktiv tillgänglighet. Annars används texten i föregående Label kontroll i stället. Det här formatet anges som standard. Vissa inbyggda kontrolltyper, till exempel TextBox och ComboBox, återställer det här formatet så att Text egenskapen för dessa kontroller inte används av Active Accessibility.