ControlStyles Výčet
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Určuje styl a chování ovládacího prvku.
Tento výčet podporuje bitové kombinace hodnot jeho členů.
public enum class ControlStyles
[System.Flags]
public enum ControlStyles
[<System.Flags>]
type ControlStyles =
Public Enum ControlStyles
- Dědičnost
- Atributy
Pole
AllPaintingInWmPaint | 8192 | Pokud |
ApplyThemingImplicitly | 524288 | |
CacheText | 16384 | Pokud |
ContainerControl | 1 | Pokud |
DoubleBuffer | 65536 | Pokud |
EnableNotifyMessage | 32768 | Pokud |
FixedHeight | 64 | Pokud |
FixedWidth | 32 | Pokud |
Opaque | 4 | Pokud |
OptimizedDoubleBuffer | 131072 | Pokud |
ResizeRedraw | 16 | Pokud |
Selectable | 512 | Pokud |
StandardClick | 256 | Pokud |
StandardDoubleClick | 4096 | Pokud |
SupportsTransparentBackColor | 2048 | Pokud |
UserMouse | 1024 | Pokud |
UserPaint | 2 | Pokud |
UseTextForAccessibility | 262144 | Určuje, že hodnota vlastnosti ovládacího prvku |
Příklady
Následující příklad ukazuje použití ControlStyles s událostí StyleChanged .
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
Poznámky
Ovládací prvky používají tento výčet v různých vlastnostech a metodách k určení funkčnosti. Ovládací prvek může povolit styl voláním SetStyle metody a předáním příslušného ControlStyles bitu (nebo bitů) a logické hodnoty pro nastavení bitů. Například následující řádek kódu jazyka Visual Basic by umožnil dvojité ukládání do vyrovnávací paměti.
myControl.SetStyle(UserPaint Or AllPaintingInWmPaint Or DoubleBuffer, True)
Pokud AllPaintingInWmPaint bit je nastavena na true
, zpráva okna WM_ERASEBKGND je ignorována a metody a OnPaintBackgroundOnPaint jsou volány přímo z okna zprávy WM_PAINT. To obecně snižuje blikání, pokud jiné ovládací prvky neodesílají zprávu okna WM_ERASEBKGND ovládacímu prvku. Můžete odeslat okno zprávy WM_ERASEBKGRND k dosažení pseudoprůhledný efekt podobný SupportsTransparentBackColor; Například s plochým ToolBar vzhledem to dělá.
Pokud chcete plně povolit dvojité ukládání do vyrovnávací paměti, můžete bity OptimizedDoubleBuffer a AllPaintingInWmPaint nastavit na true
. Upřednostňovanou metodou pro povolení dvojitého ukládání do vyrovnávací paměti, které přináší stejný výsledek, je nastavit DoubleBuffered vlastnost ovládacího prvku na true
hodnotu .
Pokud supportsTransparentBackColor bit je nastavena na true
a BackColor je nastavena na barvu, jejíž alfa komponenta je menší než 255, bude simulovat průhlednost tím, OnPaintBackground že požádá nadřazený ovládací prvek o vykreslení pozadí. Nejedná se o skutečnou transparentnost.
Poznámka
Pokud existuje jiný ovládací prvek mezi ovládacím prvek a jeho nadřazeným ovládacím prvku, aktuální ovládací prvek nezobrazí ovládací prvek uprostřed.
Pokud je bit UserMouse nastavený na true
, stále se volají následující metody: Control.OnMouseDown, Control.OnMouseUp, , Control.OnMouseEnter, Control.OnMouseMoveControl.OnMouseHover, Control.OnMouseLeavea Control.OnMouseWheel.
Při kliknutí na ovládací prvek, pokud je bit StandardClick nastaven na true
metodu Control.OnClick je volána a vyvolá Control.Click událost. Když je na ovládací prvek poklikání a bity StandardClick i StandardDoubleClick jsou nastaveny na true
hodnotu , předá se kliknutí události DoubleClick . Pak je Control.OnDoubleClick volána metoda a vyvolá Control.DoubleClick událost. Ovládací prvek však může volat OnClick nebo OnDoubleClick přímo bez ohledu na hodnoty bitů StandardClick a StandardDoubleClick. Další informace o chování ovládacích prvků při kliknutí a poklikání najdete v tématech Control.Click a Control.DoubleClick .
Pokud je bit UseTextForAccessibility nastavený a ve vlastnosti ovládacího prvku je hodnota vlastnosti ovládacího Text
prvku Text
, určuje výchozí název a klávesovou zkratku active accessibility ovládacího prvku. Jinak se místo toho použije text předchozího Label ovládacího prvku. Tento styl je nastavený ve výchozím nastavení. Některé předdefinované typy ovládacích prvků, například TextBox a ComboBox, tento styl resetují, Text
aby vlastnost těchto ovládacích prvků nebyla používána funkcí Aktivní přístupnost.