設置StatusStrip控件中,ToolStripStatusLabel的位置
在c#中用到了狀態欄控件StatusStrip,但當我想把StatusStrip上某個StatusLabel靠右對齊時出了問題。
按照MSDN中的辦法,是設置ToolStripStatusLabel的Alignment屬性為Right。不過我在設計界面的屬性窗口中找不到Alignment。
就算加入代碼toolStripStatusLabel2.Alignment = ToolStripItemAlignment.Right; 也還是沒什么效果。
后來我找到兩種方法解決這個問題:
方法一:
在狀態欄所有項目(StatusLabel、ProgressBar、DropDownButton等)前添加一個空白的StatusLabel (Text屬性為空),並將其spring屬性設為True。
Spring屬性的作用是設置該項是否填滿剩余空間,設為True以后,當程序運行時后面的項就都擠到右邊,實現靠右對齊了。
如果更進一步,需要一部分項靠左,一部分靠右,那就在兩部分中間插入空白StatusLabel,同時設其Spring屬性為True。
這種方法比較簡單,不用手工添加代碼。首選!
方法二:
這個方法是我無意中發現的。
設置StatusStrip控件的LayoutStyle屬性為HorizontalStackWithOverflow 或 StackWithOverflow。
然后在代碼中修改狀態欄上某項的Alignment為Right,這次就有靠右的效果了。
例如: this.toolStripStatusLabel1.Alignment = ToolStripItemAlignment.Right;
注意如果是多個項,那靠左對齊的從左往右排列,靠右對齊的從右往左排列。
