ControlStyles Sabit listesi
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Denetimin stilini ve davranışını belirtir.
Bu sabit listesi, üyeleri için bit düzeyinde karşılaştırmayı destekler.
public enum class ControlStyles
[System.Flags]
public enum ControlStyles
[<System.Flags>]
type ControlStyles =
Public Enum ControlStyles
- Devralma
- Öznitelikler
Alanlar
AllPaintingInWmPaint | 8192 | ise |
ApplyThemingImplicitly | 524288 | |
CacheText | 16384 | ise |
ContainerControl | 1 | ise |
DoubleBuffer | 65536 | ise |
EnableNotifyMessage | 32768 | ise |
FixedHeight | 64 | ise |
FixedWidth | 32 | ise |
Opaque | 4 | ise |
OptimizedDoubleBuffer | 131072 | ise |
ResizeRedraw | 16 | ise |
Selectable | 512 | ise |
StandardClick | 256 | ise |
StandardDoubleClick | 4096 | ise |
SupportsTransparentBackColor | 2048 | ise |
UserMouse | 1024 | ise |
UserPaint | 2 | ise |
UseTextForAccessibility | 262144 | Ayarlanırsa denetimin özelliğinin değerinin, denetimin |
Örnekler
Aşağıdaki örnekte, öğesinin ControlStyles olayla birlikte kullanımı gösterilmektedir 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
Açıklamalar
Denetimler, işlevselliği belirtmek için çeşitli özelliklerde ve yöntemlerde bu numaralandırmayı kullanır. Denetim, yöntemini çağırıp SetStyle uygun ControlStyles bitleri (veya bitleri) ve bitlerin ayarlanacağı Boole değerini geçirerek stili etkinleştirebilir. Örneğin, aşağıdaki Visual Basic kodu satırı çift arabelleğe almayı etkinleştirebilir.
myControl.SetStyle(UserPaint Or AllPaintingInWmPaint Or DoubleBuffer, True)
AllPaintingInWmPaint biti olarak true
ayarlanırsa, WM_ERASEBKGND pencere iletisi yoksayılır ve hem OnPaint hem de OnPaintBackground yöntemleri doğrudan WM_PAINT pencere iletisinden çağrılır. Bu genellikle, diğer denetimler denetime WM_ERASEBKGND pencere iletisini göndermediği sürece titremeyi azaltır. SupportsTransparentBackColor'a benzer sahte saydam bir efekt elde etmek için pencere iletisini WM_ERASEBKGRND gönderebilirsiniz; örneğin, düz görünüme sahip bir ToolBar bunu yapar.
Çift arabelleğe almayı tam olarak etkinleştirmek için OptimizedDoubleBuffer ve AllPaintingInWmPaint bitlerini olarak true
ayarlayabilirsiniz. Ancak, aynı sonucu veren çift arabelleğe almayı etkinleştirmek için tercih edilen yöntem, denetimin DoubleBuffered özelliğini olarak true
ayarlamaktır.
SupportsTransparentBackColor biti olarak true
ayarlanırsa ve BackColor alfa bileşeni 255'ten küçük olan bir renge ayarlanırsa, OnPaintBackground üst denetiminden arka planı boyamasını isteyerek saydamlık simülasyonu yapacaktır. Bu gerçek saydamlık değildir.
Not
Denetim ile üst öğesi arasında başka bir denetim varsa, geçerli denetim denetimi ortada göstermez.
UserMouse biti olarak true
ayarlandığında, şu yöntemler hala çağrılır: Control.OnMouseDown, Control.OnMouseUp, Control.OnMouseEnter, Control.OnMouseMove, Control.OnMouseHover, Control.OnMouseLeaveve Control.OnMouseWheel.
Denetime tıklandığında, StandardClick biti yöntemine true
Control.OnClick ayarlanırsa çağrılır ve olayı tetikler Control.Click . Denetime çift tıklandığında ve hem StandardClick hem de StandardDoubleClick bitleri olarak true
ayarlandığında, tıklama olaya geçirilir DoubleClick .
Control.OnDoubleClick Ardından yöntemi çağrılır ve olayı tetiklerControl.DoubleClick. Ancak denetim, StandardClick ve StandardDoubleClick bit değerlerine bakılmaksızın doğrudan veya OnDoubleClick çağırabilirOnClick. Denetim tıklama ve çift tıklama davranışları hakkında daha fazla bilgi için ve Control.DoubleClick konularına Control.Click bakın.
UseTextForAccessibility biti ayarlandığında ve denetimin Text
özelliğinde bir değer olduğunda, denetimin Text
özelliğinin değeri denetimin varsayılan Etkin Erişilebilirlik adını ve kısayol tuşunu belirler. Aksi takdirde, bunun yerine önceki Label denetimin metni kullanılır. Bu stil varsayılan olarak ayarlanır. ve ComboBoxgibi TextBox bazı yerleşik denetim türleri, bu denetimlerin Text
özelliğinin Etkin Erişilebilirlik tarafından kullanılmaması için bu stili sıfırlar.