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
| Name | Değer | Description |
|---|---|---|
| ContainerControl | 1 | ise |
| UserPaint | 2 | ise |
| Opaque | 4 | ise |
| ResizeRedraw | 16 | ise |
| FixedWidth | 32 | ise |
| FixedHeight | 64 | ise |
| StandardClick | 256 | ise |
| Selectable | 512 | ise |
| UserMouse | 1024 | ise |
| SupportsTransparentBackColor | 2048 | ise |
| StandardDoubleClick | 4096 | ise |
| AllPaintingInWmPaint | 8192 | ise |
| CacheText | 16384 | ise |
| EnableNotifyMessage | 32768 | ise |
| DoubleBuffer | 65536 | çizim |
| OptimizedDoubleBuffer | 131072 | ise |
| UseTextForAccessibility | 262144 | Ayarlanırsa denetimin özelliğinin değerinin, denetimin |
| ApplyThemingImplicitly | 524288 | Kullanıcı arabirimiyle ilgili bazı renk modları (Koyu Mod/Açık Mod) için, denetimler uygun temaları otomatik olarak uygulamayı kabul edebilir. Özellikle sistem tarafından yönetilen kaydırma çubuklarını kullanan denetimler bu ayardan yararlanabilir. Bu ayarların kullanılması, bazı win32 denetim tema oluşturucularının belirli bir tema için devre dışı olmasına neden olur. |
Örnekler
Aşağıdaki örnekte olayı ile kullanımı ControlStyles 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 bu numaralandırmayı çeşitli özelliklerde ve yöntemlerde 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 trueayarlanırsa, pencere iletisi WM_ERASEBKGND yoksayılır ve hem hem de OnPaintBackgroundOnPaint yöntemleri doğrudan WM_PAINT pencere iletisinden çağrılır. Bu genellikle, diğer denetimler pencere iletisini denetime WM_ERASEBKGND 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 trueayarlayabilirsiniz. Ancak, aynı sonucu veren çift arabelleğe almayı etkinleştirmek için tercih edilen yöntem, denetimin DoubleBuffered özelliğini olarak trueayarlamaktır.
SupportsTransparentBackColor biti olarak trueayarlanı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 benzetimi yapılır. Bu doğru saydamlık değildir.
Uyarı
Denetim ile üst öğesi arasında başka bir denetim varsa, geçerli denetim denetimi ortada göstermez.
UserMouse biti olarak trueayarlandığı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 trueControl.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 trueayarlandığı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 çağırabilir OnClickOnDoubleClick . 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 stili sıfırlayarak bu denetimlerin Text özelliğinin Etkin Erişilebilirlik tarafından kullanılmaması için bu stili sıfırlar.