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
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 true
e 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 true
Control.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.