StatusStrip控件用于在WinForm中显示窗体的状态信息,及DataGridView表格的信息等,如显示当前选中的行或列数,总记录数等。该控件默认出现在窗体的最下面,当然如果需要你也可以通过修改控件的Dock属性将它放置在窗体的其它位置。看下面的截图,如何在StatusStrip控件中设置分割线及将部分子控件显示在右边?


winform 显示 emjio winform 显示状态_object


  首先来看如何设置分割线。这个很简单,在StatusStrip中添加一个StatusLabel类型的子项,将BorderSides改成Left或Right即可。



winform 显示 emjio winform 显示状态_winform 显示 emjio_02


  有的时候我们希望在StatusStrip中加入一个Label或ProgressBar并且想让它们显示在最右边,怎么办呢?StatusStrip中没有单独设置某个子项左对齐或右对齐的属性,这时我们可以在需要右对齐的子项之前添加一个空白的Label类型的子项,并将它的Spring属性设置为True,之后的子项将自动跑到最右边了。ToolStripStatusLabel的Spring属性用于指示该控件是否占满StatusStrip的所有剩余空间,就像一个弹簧一样。是不是很简单啊?



winform 显示 emjio winform 显示状态_spring_03






***************************************************************************系统时间*****************************************************************************

实现效果:
通过StatusStrip显示窗体状态栏
同时将状态栏分成三部分
居左边显示相关文字信息
中间空白显示
居右边显示时间信息

1.创建窗体及添加StatusStrip
  默认StatusStrip名称为statusStrip1

2.在statusStrip1的Items属性中
  添加三个StatusLabel
  默认名称为toolStripStatusLabel1,2,3
  按1,2,3的顺序排列

3.修改toolStripStatusLabel1的Text属性 
  为相关文字如"欢迎使用本系统"

4.修改toolStripStatusLabel2的Text属性 为空
  Sprint属性为True
  BorderSides属性为Left,Right

5.修改toolStripStatusLabel3的Text属性 为空
  在Form的Load事件中 修改其显示为当前时间
  this.toolStripStatusLabel3.Text = "登录时间:" + DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss");

6.如果要使状态栏时间信息随操作系统当前时间不停的改变
  则可以通过增加Timer控件来实现
  增加Timer控件 timer1 
  编写其Tick事件为

private void timer1_Tick(object sender, EventArgs e)
   {
       this.toolStripStatusLabel3.Text = "系统当前时间:" + DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss");
   }


  
  在Form的Load事件中 对timer1进行相关设置

private void MainForm_Load(object sender, EventArgs e)
   {
     this.toolStripStatusLabel3.Text = "系统当前时间:" + DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss");
     this.timer1.Interval=1000;
     this.timer1.Start();
   }