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

AllPaintingInWmPaint 8192

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

ApplyThemingImplicitly 524288
CacheText 16384

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

ContainerControl 1

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

DoubleBuffer 65536

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

EnableNotifyMessage 32768

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

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çeklendirmeye çalışırsa, denetimin Height değeri değişmeden kalır.

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çeklendirmeye çalışırsa, denetimin Width değeri değişmeden kalır.

Opaque 4

ise true, denetim donuk çizilir ve arka plan boyanmaz.

OptimizedDoubleBuffer 131072

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

ResizeRedraw 16

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

Selectable 512

ise true, denetim odağı alabilir.

StandardClick 256

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

StandardDoubleClick 4096

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

SupportsTransparentBackColor 2048

ise true, denetim saydamlığın benzetimini yapmak için 255'ten küçük bir 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.

UserMouse 1024

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

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.

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.

Ö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 trueayarlanı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 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 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 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 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.

Şunlara uygulanır

Ayrıca bkz.