您的位置:首页 > 其它

StatusStrip控件中,ToolStripStatusLabel的位置

2015-01-05 20:14 1791 查看
在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;

注意: 如果是多个项,那靠左对齐的从左往右排列,靠右对齐的从右往左排列。

经实践发现:第一种方法特别可靠

第二种方法在属性框里找不到,必须在窗体加载时用代码写;

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: