Aracılığıyla paylaş


ControlStyles Sabit listesi

Tanım

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
ControlStyles
Öznitelikler

Alanlar

Name Değer Description
ContainerControl 1

ise true, denetim kapsayıcı benzeri bir denetimdir.

UserPaint 2

ise true, denetim bunu yapan işletim sistemi yerine kendisini boyar. Paint isefalse, olay tetiklenmez. Bu stil yalnızca 'den Controltüretilen sınıflar için geçerlidir.

Opaque 4

ise true, denetim opak çizilir ve arka plan boyanmıyordur.

ResizeRedraw 16

ise true, denetim yeniden boyutlandırıldığında yeniden çizilir.

FixedWidth 32

ise true, otomatik ölçeklendirildiğinde denetimin genişliği sabit olur. Örneğin, bir düzen işlemi denetimi yeni Fontbir öğesini barındıracak şekilde yeniden ölçeklendirmeyi denerse, denetimin Width değeri değişmeden kalır.

FixedHeight 64

ise true, otomatik ölçeklendirildiğinde denetimin yüksekliği sabit olur. Örneğin, bir düzen işlemi denetimi yeni Fontbir öğesini barındıracak şekilde yeniden ölçeklendirmeyi denerse, denetimin Height değeri değişmeden kalır.

StandardClick 256

ise true, denetim standart Click davranışı uygular.

Selectable 512

ise true, denetim odağı alabilir.

UserMouse 1024

ise true, denetim kendi fare işlemesini yapar ve fare olayları işletim sistemi tarafından işlenmez.

SupportsTransparentBackColor 2048

ise true, denetim saydamlığın benzetimini yapmak için 255'ten az alfa bileşenine sahip bir BackColor değerini kabul eder. Saydamlık yalnızca bit olarak ayarlanırsa true ve üst denetim öğesinden Controltüretilirse UserPaint simülasyonu yapılır.

StandardDoubleClick 4096

ise true, denetim standart DoubleClick davranışı uygular. Bit olarak ayarlanmadıysa StandardClicktruebu stil yoksayılır.

AllPaintingInWmPaint 8192

ise true, denetim titreşimi azaltmak için WM_ERASEBKGND pencere iletisini yoksayar. Bu stil yalnızca bit olarak ayarlandıysa UserPainttrueuygulanmalıdır.

CacheText 16384

ise true, denetim her gerektiğinden almak Handle yerine metnin bir kopyasını tutar. Bu stil varsayılan olarak şeklindedir false. Bu davranış performansı artırır, ancak metnin eşitlenmiş kalmasını zorlaştırır.

EnableNotifyMessage 32768

ise true, yöntemi denetimin OnNotifyMessage(Message) öğesine gönderilen her ileti için çağrılır WndProc(Message). Bu stil varsayılan olarak şeklindedir false. EnableNotifyMessage kısmi güven içinde çalışmaz.

DoubleBuffer 65536

çizim truebir arabellekte gerçekleştirilir ve tamamlandıktan sonra sonuç ekrana çıkış olur. Çift arabelleğe alma, denetimin yeniden çizilmesinden kaynaklanan titremeyi önler. olarak ayarlarsanız DoubleBuffertrueve AllPaintingInWmPainttruedeğerini de olarak ayarlamanız UserPaint gerekir.

OptimizedDoubleBuffer 131072

ise true, denetim önce doğrudan ekrana değil bir arabelleğe çekilir ve bu da titreşimi azaltabilir. Bu özelliği olarak trueayarlarsanız, olarak da ayarlamanız AllPaintingInWmPainttruegerekir.

UseTextForAccessibility 262144

Ayarlanırsa denetimin özelliğinin değerinin, denetimin Text varsayılan Etkin Erişilebilirlik adını ve kısayol tuşunu belirlediğini belirtir.

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.

Şunlara uygulanır

Ayrıca bkz.