Bagikan melalui


Gambaran Umum Properti Ukuran Otomatis

Properti AutoSize memungkinkan kontrol untuk mengubah ukurannya, jika perlu, untuk mencapai nilai yang ditentukan oleh PreferredSize properti . Anda menyesuaikan perilaku ukuran untuk kontrol tertentu dengan mengatur AutoSizeMode properti .

Perilaku Ukuran Otomatis

Hanya beberapa kontrol yang mendukung AutoSize properti . Selain itu, beberapa kontrol yang mendukung AutoSize properti juga mendukung AutoSizeMode properti .

Properti AutoSize menghasilkan perilaku yang agak berbeda, tergantung pada jenis kontrol tertentu dan nilai AutoSizeMode properti, jika properti ada. Tabel berikut ini menjelaskan perilaku yang selalu benar dan memberikan deskripsi singkat tentang masing-masing:

Perilaku selalu benar Deskripsi
Ukuran otomatis adalah fitur run-time. Ini berarti tidak pernah tumbuh atau menyusutkan kontrol dan kemudian tidak memiliki efek lebih lanjut.
Jika kontrol mengubah ukuran, nilai propertinya Location selalu tetap konstan. Ketika konten kontrol menyebabkannya tumbuh, kontrol tumbuh ke kanan dan ke bawah. Kontrol tidak tumbuh di sebelah kiri.
Properti Dock dan Anchor dihormati ketika AutoSize adalah true. Nilai properti kontrol Location disesuaikan dengan nilai yang benar.

Catatan Kontrol Label adalah pengecualian untuk aturan ini. Saat Anda mengatur nilai properti kontrol AutoSize yang ditampung Label ke true, Label kontrol tidak akan meregangkan.
Kontrol MaximumSize dan MinimumSize properti selalu dihormati, terlepas dari nilai propertinya AutoSize . Properti MaximumSize dan MinimumSize tidak dipengaruhi oleh AutoSize properti .
Tidak ada ukuran minimum yang ditetapkan secara default. Ini berarti bahwa jika kontrol diatur untuk menyusut di bawah AutoSize dan tidak memiliki konten, nilai propertinya Size adalah 0,0. Dalam hal ini, kontrol Anda akan menyusut ke titik, dan tidak akan mudah terlihat.
Jika kontrol tidak menerapkan GetPreferredSize metode , GetPreferredSize metode mengembalikan nilai terakhir yang ditetapkan ke Size properti . Ini berarti bahwa pengaturan AutoSize ke true tidak akan berpengaruh.
Kontrol dalam TableLayoutPanel sel selalu menyusut agar pas di sel hingga MinimumSize tercapai. Ukuran ini diberlakukan sebagai ukuran maksimum. Ini bukan kasus ketika sel adalah bagian AutoSize dari baris atau kolom.

Properti AutoSizeMode

Properti AutoSizeMode memberikan kontrol yang lebih halus atas perilaku default AutoSize . Properti AutoSizeMode menentukan bagaimana kontrol mengukur sendiri ke kontennya. Konten, misalnya, bisa menjadi teks untuk Button kontrol atau kontrol anak untuk kontainer.

Tabel berikut ini memperlihatkan AutoSizeMode pengaturan dan deskripsi perilaku yang dikeluarkan setiap pengaturan.

Pengaturan AutoSizeMode Perilaku
GrowAndShrink Kontrol tumbuh atau menyusut untuk mencakup isinya.

Nilai MinimumSize dan MaximumSize dihormati, tetapi nilai Size properti saat ini diabaikan.

Ini adalah perilaku yang sama dengan kontrol dengan AutoSize properti dan tanpa AutoSizeMode properti.
GrowOnly Kontrol tumbuh sebanyak yang diperlukan untuk mencakup isinya, tetapi tidak akan menyusut lebih kecil dari nilai yang ditentukan oleh propertinya Size .

Ini adalah nilai default untuk AutoSizeMode.

Kontrol yang Mendukung Properti AutoSize

Tabel berikut mencantumkan kontrol yang mendukung AutoSize properti dan AutoSizeMode .

Dukungan AutoSize Jenis kontrol
- AutoSize properti didukung.
- Tidak ada AutoSizeMode properti.
CheckBox

DomainUpDown

Label

LinkLabel

MaskedTextBox (TextBox dasar)

NumericUpDown

RadioButton

TextBox

TrackBar
- AutoSize properti didukung.
- AutoSizeMode properti didukung.
Button

CheckedListBox

FlowLayoutPanel

Form

GroupBox

Panel

TableLayoutPanel
- Tidak ada AutoSize properti. CheckedListBox

ComboBox

DataGridView

DateTimePicker

ListBox

ListView

MaskedTextBox

MonthCalendar

ProgressBar

PropertyGrid

RichTextBox

SplitContainer

TabControl

TabPage

TreeView

WebBrowser

ScrollBar

Ukuran Otomatis di Lingkungan Desain

Tabel berikut ini menjelaskan perilaku ukuran kontrol pada waktu desain, berdasarkan nilai properti dannya AutoSizeAutoSizeMode .

Ambil alih SelectionRules properti untuk menentukan apakah kontrol tertentu berada dalam status yang dapat diubah ukuran pengguna. Dalam tabel berikut, "tidak dapat" berarti Moveable hanya, "dapat" berarti AllSizeable dan Moveable.

Pengaturan Ukuran Otomatis Gerakan ukuran waktu desain
- AutoSize = true
- Tidak ada AutoSizeMode properti.
Pengguna tidak dapat mengubah ukuran kontrol pada waktu desain, kecuali untuk kontrol berikut:

- TextBox
- MaskedTextBox
- RichTextBox
- TrackBar
- AutoSize = true
- AutoSizeMode = GrowAndShrink
Pengguna tidak dapat mengubah ukuran kontrol pada waktu desain.
- AutoSize = true
- AutoSizeMode = GrowOnly
Pengguna dapat mengubah ukuran kontrol pada waktu desain. Size Ketika properti diatur, pengguna hanya dapat meningkatkan ukuran kontrol.
- AutoSize = false, atau AutoSize properti disembunyikan. Pengguna dapat mengubah ukuran kontrol pada waktu desain.

Catatan

Untuk memaksimalkan produktivitas, Formulir Windows Designer di Visual Studio membayangi AutoSize properti untuk kelas tersebutForm. Pada waktu desain, formulir berperilaku seolah-olah AutoSize properti diatur ke false, terlepas dari pengaturan aktualnya. Pada runtime, tidak ada akomodasi khusus yang dibuat, dan AutoSize properti diterapkan seperti yang ditentukan oleh pengaturan properti.

Baca juga