ControlStyles Enumerazione
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Specifica lo stile e il comportamento di un controllo.
Questa enumerazione supporta una combinazione bit per bit dei rispettivi valori dei membri.
public enum class ControlStyles
[System.Flags]
public enum ControlStyles
[<System.Flags>]
type ControlStyles =
Public Enum ControlStyles
- Ereditarietà
- Attributi
Campi
| Nome | Valore | Descrizione |
|---|---|---|
| AllPaintingInWmPaint | 8192 | Se |
| ApplyThemingImplicitly | 524288 | |
| CacheText | 16384 | Se |
| ContainerControl | 1 | Se |
| DoubleBuffer | 65536 | Se |
| EnableNotifyMessage | 32768 | Se |
| FixedHeight | 64 | Se |
| FixedWidth | 32 | Se |
| Opaque | 4 | Se |
| OptimizedDoubleBuffer | 131072 | Se |
| ResizeRedraw | 16 | Se |
| Selectable | 512 | Se |
| StandardClick | 256 | Se |
| StandardDoubleClick | 4096 | Se |
| SupportsTransparentBackColor | 2048 | Se |
| UserMouse | 1024 | Se |
| UserPaint | 2 | Se |
| UseTextForAccessibility | 262144 | Specifica che il valore della proprietà |
Esempio
Nell'esempio seguente viene illustrato un uso di ControlStyles con l'evento 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
Commenti
I controlli usano questa enumerazione in varie proprietà e metodi per specificare la funzionalità. Un controllo può abilitare uno stile chiamando il metodo e passando il SetStyle bit appropriato ControlStyles (o bit) e il valore booleano su cui impostare i bit. Ad esempio, la riga seguente del codice Visual Basic abilita il buffer double-buffer.
myControl.SetStyle(UserPaint Or AllPaintingInWmPaint Or DoubleBuffer, True)
Se il bit AllPaintingInWmPaint è impostato su true, il messaggio della finestra WM_ERASEBKGND viene ignorato e OnPaintBackground entrambi i OnPaint metodi vengono chiamati direttamente dal messaggio della finestra WM_PAINT. Questo riduce in genere il flicker a meno che altri controlli non inviino il messaggio della finestra WM_ERASEBKGND al controllo. È possibile inviare il messaggio della finestra WM_ERASEBKGRND per ottenere un effetto pseudo-trasparente simile a SupportTransparentBackColor; ad esempio, un con aspetto ToolBar flat esegue questa operazione.
Per abilitare completamente il buffer doppio, è possibile impostare i bit OptimizedDoubleBuffer e AllPaintingInWmPaint su true. Tuttavia, il metodo preferito per abilitare il buffer double, che restituisce lo stesso risultato, consiste nell'impostare la DoubleBuffered proprietà per il controllo su true.
Se il bit SupportsTransparentBackColor è impostato su truee viene BackColor impostato su un colore il cui componente alfa è minore di 255, OnPaintBackground simula la trasparenza chiedendo al controllo padre di disegnare lo sfondo. Non è vera trasparenza.
Nota
Se è presente un altro controllo tra il controllo e il relativo padre, il controllo corrente non mostrerà il controllo al centro.
Quando il bit UserMouse è impostato su true, i metodi seguenti sono ancora chiamati: Control.OnMouseDownControl.OnMouseMoveControl.OnMouseEnterControl.OnMouseHoverControl.OnMouseUpControl.OnMouseLeave, e .Control.OnMouseWheel
Quando viene fatto clic sul controllo, se il bit StandardClick è impostato sul trueControl.OnClick metodo viene chiamato e genera l'evento Control.Click . Quando il controllo viene fatto doppio clic e i bit StandardClick e StandardDoubleClick sono impostati su true, il clic viene passato all'evento DoubleClick . Viene quindi chiamato il Control.OnDoubleClick metodo e genera l'evento Control.DoubleClick . Tuttavia, il controllo può chiamare OnClick o OnDoubleClick direttamente indipendentemente dai valori di bit StandardClick e StandardDoubleClick. Per altre informazioni sul controllo fare clic e fare doppio clic su comportamenti, vedere gli Control.Click argomenti e Control.DoubleClick .
Quando il bit UseTextForAccessibility è impostato e nella proprietà del Text controllo è presente un valore, il valore della proprietà del Text controllo determina il nome predefinito dell'accessibilità attiva e il tasto di scelta rapida del controllo. In caso contrario, verrà usato il testo del controllo precedente Label . Questo stile è impostato per impostazione predefinita. Alcuni tipi di controllo predefiniti, ad esempio TextBox e ComboBox, reimpostano questo stile in modo che la Text proprietà di tali controlli non venga usata da Active Accessibility.