Tôi đang cố gắng căn chỉnh đúng điều khiển trong a StatusStrip
. Làm thế nào tôi có thể làm điều đó?
Tôi không thấy thuộc tính nào để đặt trên các ToolStripItem
điều khiển chỉ định căn chỉnh vật lý của chúng trên cấp độ chính StatusStrip
.
Tôi đang cố gắng căn chỉnh đúng điều khiển trong a StatusStrip
. Làm thế nào tôi có thể làm điều đó?
Tôi không thấy thuộc tính nào để đặt trên các ToolStripItem
điều khiển chỉ định căn chỉnh vật lý của chúng trên cấp độ chính StatusStrip
.
Câu trả lời:
Tìm thấy nó qua các diễn đàn MSDN gần như ngay lập tức sau khi đăng :)
Bạn có thể sử dụng a ToolStripLabel
để giả các điều khiển căn phải bằng cách đặt thuộc Text
tính thành string.Empty
và đặt thuộc Spring
tính thành true
. Điều này sẽ làm cho nó lấp đầy tất cả không gian có sẵn và đẩy tất cả các điều khiển sang bên phải ToolStripLabel
.
StatusStrip.LayoutStyle == ToolStripLayoutStyle.Table
(là mặc định)
Alignment
tài sản đó làm gì, vì nó không làm gì trong ứng dụng của tôi.
Như một lưu ý thêm, điều này là do trong API Win32, một ô có chiều rộng cố định hoặc lấp đầy khoảng trống còn lại -1
int statwidths[] = {100, -1};
SendMessage(hStatus, SB_SETPARTS, sizeof(statwidths)/sizeof(int), (LPARAM)statwidths);
SendMessage(hStatus, SB_SETTEXT, 0, (LPARAM)"Hi there :)");
Nếu bộ nhớ phục vụ tôi một cách chính xác, bạn chỉ có thể có một ô điền (-1) trên mỗi thanh trạng thái.
Bạn cũng có thể thêm một ô ở giữa thứ ba và cung cấp cho nó thuộc tính điền để có được StatusBar trông phù hợp hơn. Nhất quán vì Tin nhắn có phần chèn ở bên trái bên phải nơi bạn mong đợi. Một chút giống như ảnh chụp mspaint được tìm thấy trên trang MSDN dành cho Thanh trạng thái
Tôi thích cách tiếp cận sáng tạo mặc dù: D
Bạn có thể hiển thị Button
ở cuối StatusStrip
bằng cách sử dụng logic bên dưới.
ToolstripLabel
vàoStatusStrip
string.Empty
Padding
choToolstripLabel
Ví dụ:
this.toolStripStatusLabel1.Padding = new Padding((int)(this.Size.Width - 75), 0, 0, 0);
Tôi thấy rằng bạn có thể đặt Bố cục StatusStrip thành HorizontalStackWithOverflow. Sau đó, đối với mỗi điều khiển trên StatusStrip mà bạn muốn ở phía bên phải, hãy đặt Căn chỉnh điều khiển thành Phải.
Tôi thích điều này hơn vì bạn không cần bất kỳ điều khiển bổ sung hoặc giả nào để căn chỉnh.
Tôi tìm một cách chung để đặt vị trí của điều khiển StatusStrip
. Bạn có thể hiển thị Nút ở bất kỳ vị trí nào trong StatusStrip
bằng cách sử dụng các bước bên dưới.
Đặt văn bản dưới dạng một lượng không gian phù hợp như
toolStripStatusLabel1.Text = "";
Nếu bố cục không như bạn muốn, phải chuyển sang bước 2 để thay đổi lượng không gian trong đó toolStripStatusLabel1.Text
, công việc khác đã được thực hiện.
Đặt thuộc tính dải công cụ RightToLeft thành True.