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
.
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
.
Jawaban:
Ditemukan melalui forum MSDN segera setelah memposting :)
Anda dapat menggunakan a ToolStripLabel
to pseudo right align control dengan menyetel Text
properti ke string.Empty
dan menyetel Spring
properti ke true
. Ini akan menyebabkannya mengisi semua ruang yang tersedia dan mendorong semua kontrol ke kanan ToolStripLabel
atas.
StatusStrip.LayoutStyle == ToolStripLayoutStyle.Table
(yang merupakan default)
Alignment
properti itu, karena tidak melakukan apa pun dalam aplikasi saya.
Sebagai catatan tambahan, ini disebabkan oleh fakta bahwa di Win32 API sel memiliki lebar tetap atau mengisi ruang yang tersisa -1
int statwidths[] = {100, -1};
SendMessage(hStatus, SB_SETPARTS, sizeof(statwidths)/sizeof(int), (LPARAM)statwidths);
SendMessage(hStatus, SB_SETTEXT, 0, (LPARAM)"Hi there :)");
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
Anda dapat menampilkan Button
di akhir StatusStrip
dengan menggunakan logika di bawah ini.
ToolstripLabel
keStatusStrip
string.Empty
Padding
untukToolstripLabel
Sebagai contoh:
this.toolStripStatusLabel1.Padding = new Padding((int)(this.Size.Width - 75), 0, 0, 0);
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.
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.
Saya menemukan cara umum untuk mengatur lokasi kontrol StatusStrip
. Anda dapat menampilkan Tombol di posisi mana pun StatusStrip
dengan menggunakan langkah-langkah di bawah ini.
Tetapkan teks sebagai jumlah spasi yang sesuai
toolStripStatusLabel1.Text = "";
Jika tata letak bukan yang Anda inginkan, lanjutkan ke langkah 2 untuk mengubah jumlah ruang toolStripStatusLabel1.Text
, jika tidak, pekerjaan telah selesai.
Setel properti strip alat RightToLeft ke True.