Saya mencoba untuk mengarahkan kontrol ke kanan di a StatusStrip
. Bagaimana saya bisa melakukan itu?
Saya tidak melihat properti untuk disetel pada ToolStripItem
kontrol yang menentukan kesejajaran fisiknya pada induk StatusStrip
.
c#
winforms
statusstrip
Eric Schoonover
sumber
sumber
Jawaban:
Ditemukan melalui forum MSDN segera setelah memposting :)
Anda dapat menggunakan a
ToolStripLabel
to pseudo right align control dengan menyetelText
properti kestring.Empty
dan menyetelSpring
properti ketrue
. Ini akan menyebabkannya mengisi semua ruang yang tersedia dan mendorong semua kontrol ke kananToolStripLabel
atas.sumber
StatusStrip.LayoutStyle == ToolStripLayoutStyle.Table
(yang merupakan default)Alignment
properti itu, karena tidak melakukan apa pun dalam aplikasi saya.Bagi saya, dibutuhkan dua langkah sederhana:
MyRightIntendedToolStripItem.Alignment
keRight
MyStatusStrip.LayoutStyle
keHorizontalStackWithOverflow
sumber
Sebagai catatan tambahan, ini disebabkan oleh fakta bahwa di Win32 API sel memiliki lebar tetap atau mengisi ruang yang tersisa -1
Jika memori melayani saya dengan benar, Anda hanya dapat memiliki satu sel isian (-1) per bilah status.
Anda juga bisa menambahkan sel tengah ketiga dan memberi ini properti isian untuk mendapatkan StatusBar yang tampak lebih konsisten. Konsisten karena Message memiliki inset di kiri kanan di tempat yang Anda harapkan. Sedikit seperti tembakan mspaint yang ditemukan di halaman MSDN untuk StatusBars
Saya suka pendekatan kreatifnya: D
sumber
Anda dapat menampilkan
Button
di akhirStatusStrip
dengan menggunakan logika di bawah ini.ToolstripLabel
keStatusStrip
string.Empty
Padding
untukToolstripLabel
Sebagai contoh:
sumber
Pertahankan label Toolstrip, setel properti Spring sebagai true dan untuk teks rata label di BottomLeft
sumber
Saya menemukan bahwa Anda dapat mengatur Tata Letak StatusStrip ke HorizontalStackWithOverflow. Kemudian, untuk setiap kontrol pada StatusStrip yang Anda inginkan di sisi kanan, atur kontrol Alignment ke Kanan.
Saya lebih suka ini karena Anda tidak memerlukan kontrol tambahan atau dummy untuk menyelaraskan.
sumber
Jika Anda menyetel properti Spring kontrol label strip status ke true, maka label tersebut akan menggunakan ruang apa pun yang tidak digunakan oleh kontrol lain di StatusStrip.
sumber
Saya menemukan cara umum untuk mengatur lokasi kontrol
StatusStrip
. Anda dapat menampilkan Tombol di posisi mana punStatusStrip
dengan menggunakan langkah-langkah di bawah ini.Tetapkan teks sebagai jumlah spasi yang sesuai
Jika tata letak bukan yang Anda inginkan, lanjutkan ke langkah 2 untuk mengubah jumlah ruang
toolStripStatusLabel1.Text
, jika tidak, pekerjaan telah selesai.sumber
Setel properti strip alat RightToLeft ke True.
sumber