ControlStyles Enum
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Menentukan gaya dan perilaku kontrol.
Enumerasi ini mendukung kombinasi bitwise dari nilai yang termasuk di dalamnya.
public enum class ControlStyles
[System.Flags]
public enum ControlStyles
[<System.Flags>]
type ControlStyles =
Public Enum ControlStyles
- Warisan
- Atribut
Bidang
AllPaintingInWmPaint | 8192 | Jika |
ApplyThemingImplicitly | 524288 | |
CacheText | 16384 | Jika |
ContainerControl | 1 | Jika |
DoubleBuffer | 65536 | Jika |
EnableNotifyMessage | 32768 | Jika |
FixedHeight | 64 | Jika |
FixedWidth | 32 | Jika |
Opaque | 4 | Jika |
OptimizedDoubleBuffer | 131072 | Jika |
ResizeRedraw | 16 | Jika |
Selectable | 512 | Jika |
StandardClick | 256 | Jika |
StandardDoubleClick | 4096 | Jika |
SupportsTransparentBackColor | 2048 | Jika |
UserMouse | 1024 | Jika |
UserPaint | 2 | Jika |
UseTextForAccessibility | 262144 | Menentukan bahwa nilai properti kontrol |
Contoh
Contoh berikut menunjukkan penggunaan ControlStyles dengan peristiwa tersebut 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
Keterangan
Kontrol menggunakan enumerasi ini dalam berbagai properti dan metode untuk menentukan fungsionalitas. Kontrol dapat mengaktifkan gaya dengan memanggil SetStyle metode dan meneruskan bit (atau bit) yang sesuai ControlStyles dan nilai Boolean untuk mengatur bit. Misalnya, baris kode Visual Basic berikut akan mengaktifkan buffering ganda.
myControl.SetStyle(UserPaint Or AllPaintingInWmPaint Or DoubleBuffer, True)
Jika bit AllPaintingInWmPaint diatur ke true
, pesan jendela WM_ERASEBKGND diabaikan, dan metode OnPaintBackground dan OnPaint dipanggil langsung dari pesan jendela WM_PAINT. Ini umumnya mengurangi kedipan kecuali kontrol lain mengirim pesan jendela WM_ERASEBKGND ke kontrol. Anda mungkin mengirim pesan jendela WM_ERASEBKGRND untuk mencapai efek transparan semu yang mirip dengan SupportsTransparentBackColor; misalnya, ToolBar dengan penampilan datar melakukan ini.
Untuk mengaktifkan buffering ganda sepenuhnya, Anda dapat mengatur bit OptimizedDoubleBuffer dan AllPaintingInWmPaint ke true
. Namun metode yang disukai untuk mengaktifkan buffering ganda, yang menghasilkan hasil yang sama, adalah mengatur DoubleBuffered properti untuk kontrol ke true
.
Jika bit SupportsTransparentBackColor diatur ke true
, dan BackColor diatur ke warna yang komponen alfanya kurang dari 255, OnPaintBackground akan mensimulasikan transparansi dengan meminta kontrol induknya untuk melukis latar belakang. Ini bukan transparansi yang benar.
Catatan
Jika ada kontrol lain antara kontrol dan induknya, kontrol saat ini tidak akan menampilkan kontrol di tengah.
Ketika bit UserMouse diatur ke true
, metode berikut masih disebut: Control.OnMouseDown, , Control.OnMouseUp, Control.OnMouseEnterControl.OnMouseMove, Control.OnMouseHover, Control.OnMouseLeave, dan Control.OnMouseWheel.
Ketika kontrol diklik, jika bit StandardClick diatur ke true
Control.OnClick metode dipanggil dan meningkatkan Control.Click peristiwa. Saat kontrol diklik ganda, dan bit StandardClick dan StandardDoubleClick diatur ke true
, klik diteruskan ke DoubleClick peristiwa. Kemudian metode dipanggil Control.OnDoubleClick dan meningkatkan Control.DoubleClick peristiwa. Namun, kontrol dapat memanggil OnClick atau OnDoubleClick secara langsung terlepas dari nilai bit StandardClick dan StandardDoubleClick. Untuk informasi selengkapnya tentang perilaku klik kontrol dan klik ganda, lihat Control.Click topik dan Control.DoubleClick .
Ketika bit UseTextForAccessibility diatur dan ada nilai dalam properti kontrol Text
, nilai properti kontrol tersebut Text
menentukan nama Aksesibilitas Aktif dan kunci pintasan default kontrol. Jika tidak, teks kontrol sebelumnya Label akan digunakan sebagai gantinya. Gaya ini diatur secara default. Jenis kontrol bawaan tertentu, seperti TextBox dan ComboBox, reset gaya ini sehingga properti kontrol tersebut Text
tidak akan digunakan oleh Aksesibilitas Aktif.