ControlStyles Enumeráció

Definíció

Egy vezérlőelem stílusát és viselkedését határozza meg.

Ez a felsorolás támogatja a tagértékek bitenkénti kombinációját.

public enum class ControlStyles
[System.Flags]
public enum ControlStyles
[<System.Flags>]
type ControlStyles = 
Public Enum ControlStyles
Öröklődés
ControlStyles
Attribútumok

Mezők

Name Érték Description
ContainerControl 1

Ha true, akkor a vezérlő tárolóhoz hasonló vezérlő.

UserPaint 2

Ha truea vezérlő nem az operációs rendszer, hanem magát festi. Ha false, az Paint esemény nem lesz előállítva. Ez a stílus csak a forrásból Controlszármaztatott osztályokra vonatkozik.

Opaque 4

Ha truea vezérlő átlátszatlan, és a háttér nincs festve.

ResizeRedraw 16

Ha true, a vezérlő újrarajzolt, amikor átméretezi.

FixedWidth 32

Ha true, akkor a vezérlő rögzített szélességű az automatikus skálázáskor. Ha például egy elrendezési művelet megkísérli újraskálázni a vezérlőt egy új Fontfogadására, a vezérlő Width változatlan marad.

FixedHeight 64

Ha true, a vezérlőelem automatikus méretezéskor rögzített magasságú. Ha például egy elrendezési művelet megkísérli újraskálázni a vezérlőt egy új Fontfogadására, a vezérlő Height változatlan marad.

StandardClick 256

Ha true, a vezérlő a szokásos Click viselkedést valósítja meg.

Selectable 512

Ha true, a vezérlő képes a fókusz fogadására.

UserMouse 1024

Ha truea vezérlő saját egérfeldolgozást végez, és az egéreseményeket az operációs rendszer nem kezeli.

SupportsTransparentBackColor 2048

Ha truea vezérlő 255-nél kisebb alfa-összetevőt fogad el BackColor az átlátszóság szimulálásához. Az áttetszőség csak akkor lesz szimulálva, ha a UserPaint bit be van állítva true , és a szülő vezérlőelem származik belőle Control.

StandardDoubleClick 4096

Ha true, a vezérlő a szokásos DoubleClick viselkedést valósítja meg. Ezt a stílust a rendszer figyelmen kívül hagyja, ha a StandardClick bit nincs beállítva true.

AllPaintingInWmPaint 8192

Ha true, a vezérlő figyelmen kívül hagyja az ablaküzenetet, WM_ERASEBKGND a villódzás csökkentése érdekében. Ezt a stílust csak akkor szabad alkalmazni, ha a UserPaint bit be van állítva true.

CacheText 16384

Ha truea vezérlőelem megtartja a szöveg másolatát ahelyett, hogy minden Handle szükséges időpontból lekérte volna. Ez a stílus alapértelmezés szerint a .false Ez a viselkedés javítja a teljesítményt, de megnehezíti a szöveg szinkronizálását.

EnableNotifyMessage 32768

Ha truea metódust a OnNotifyMessage(Message) rendszer meghívja a vezérlőnek WndProc(Message)küldött összes üzenethez. Ez a stílus alapértelmezés szerint a .false EnableNotifyMessage nem működik részleges megbízhatósági kapcsolaton belül.

DoubleBuffer 65536

Ha truea rajz egy pufferben történik, és a befejezés után az eredmény a képernyőre kerül. A dupla pufferelés megakadályozza a vezérlő újrafelfedezése által okozott villódzást. Ha be van állítvaDoubleBuffer, akkor is be kell állítania és true be kell állítaniaUserPaint.AllPaintingInWmPainttrue

OptimizedDoubleBuffer 131072

Ha truea vezérlő először egy pufferbe kerül, nem közvetlenül a képernyőre, ami csökkentheti a villódzást. Ha ezt a tulajdonságot állítja truebe, akkor a következőt AllPaintingInWmPaintis be kell állítaniatrue.

UseTextForAccessibility 262144

Megadja, hogy a vezérlőelem Text tulajdonságának értéke , ha be van állítva, meghatározza a vezérlő alapértelmezett Active Accessibility-nevét és billentyűparancsát.

ApplyThemingImplicitly 524288

Bizonyos felhasználói felülettel kapcsolatos színmódok (sötét mód/világos mód) esetén a vezérlők automatikusan alkalmazhatják a megfelelő színt. Különösen a rendszer által felügyelt görgetősávokat használó vezérlők használhatják ezt a beállítást. Vegye figyelembe, hogy a beállítások használatával bizonyos win32-vezérlők inaktívvá válnak egy adott témához.

Példák

Az alábbi példa az esemény használatát ControlStyles mutatja beStyleChanged.

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

Megjegyzések

A vezérlők ezt a számbavételt különböző tulajdonságokban és metódusokban használják a funkciók megadásához. A vezérlőelemek úgy engedélyezhetik a stílust, hogy meghívják a SetStyle metódust, és a megfelelő ControlStyles bitet (vagy biteket) és a logikai értéket adják meg a bit(ek) beállításához. A következő Visual Basic kódsor például lehetővé tenné a dupla pufferelést.

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

Ha az AllPaintingInWmPaint bit értéke be van állítva true, a rendszer figyelmen kívül hagyja az ablaküzenetet WM_ERASEBKGND, és mindkettőt OnPaintBackground és OnPaint metódust közvetlenül az ablaküzenetből WM_PAINT. Ez általában csökkenti a villódzást, hacsak más vezérlők nem küldik el az ablaküzenetet WM_ERASEBKGND a vezérlőnek. Az ablaküzenetet elküldheti WM_ERASEBKGRND a SupportsTransparentBackColor-hoz hasonló pszeudo-transzparens hatás eléréséhez; Például egy ToolBar lapos megjelenésű eszköz ezt teszi.

A dupla pufferelés teljes engedélyezéséhez állítsa az OptimizedDoubleBuffer és az AllPaintingInWmPaint biteket a következőre true: . A dupla pufferelés engedélyezésének elsődleges módszere azonban, amely ugyanazt az eredményt adja, a DoubleBuffered vezérlőelem truetulajdonságának beállítása.

Ha a SupportsTransparentBackColor bit trueértéke , és a BackColor beállítás olyan színre van állítva, amelynek alfaösszetevője kisebb, mint 255, OnPaintBackground akkor az áttetszőség szimulálásához kérje meg a szülővezérlőt, hogy festse le a hátteret. Ez nem valódi átláthatóság.

Note

Ha a vezérlő és a szülője között van egy másik vezérlő, az aktuális vezérlő nem fogja középen megjeleníteni a vezérlőt.

A UserMouse bit beállításakor truea rendszer továbbra is a következő metódusokat hívja meg: Control.OnMouseDown, Control.OnMouseUp, , Control.OnMouseEnter, Control.OnMouseMove, Control.OnMouseHoverControl.OnMouseLeaveés Control.OnMouseWheel.

Ha a vezérlőelemre kattint, a StandardClick bit a metódus meghívására trueControl.OnClick van állítva, és az eseményt emeli Control.Click ki. Ha a vezérlőre duplán kattint, és a StandardClick és a StandardDoubleClick bit is be van állítva true, a kattintás tovább lesz adva az DoubleClick eseménynek. Ezután meghívja a Control.OnDoubleClick metódust, és az eseményt Control.DoubleClick emeli ki. A vezérlő azonban meghívhatja OnClick vagy OnDoubleClick közvetlenül függetlenül a StandardClick és a StandardDoubleClick bitértékeket. A kattintás és a dupla kattintás viselkedésével kapcsolatos további információkért tekintse meg a témaköröket és Control.Click témaköröketControl.DoubleClick.

Ha a UseTextForAccessibility bit be van állítva, és a vezérlő Text tulajdonságában van egy érték, a vezérlő Text tulajdonságának értéke határozza meg a vezérlő alapértelmezett Active Accessibility-nevét és billentyűparancsát. Ellenkező esetben a program az előző Label vezérlőelem szövegét használja. Ez a stílus alapértelmezés szerint be van állítva. Bizonyos beépített vezérlőtípusok, például TextBox a ComboBoxstílus alaphelyzetbe állítása, hogy a vezérlők tulajdonságát ne használja az Text Aktív akadálymentesség.

A következőre érvényes:

Lásd még