今天,在网上查找资料,突然看到一个例子,但例子中提及的StatusBar控件,我发现在vs控件压根不存在,我就郁闷了,于是上网查找才知道,现在这个控件已经被StatusStrip控件给吞了,StatusStrip控件简而言之就是把StatusBar控件替代并拓展了。
以下是网上网友所写的两个控件的区别资料:
statusbar 控件(windows 窗体)是作为一个区域用在窗体上的,通常显示在窗口的底部,应用程序可以在那里显示各种状态信息。statusbar 控件可以有状态栏面板,面板上显示指示状态的文本或图标,或者显示指示一个进程正在工作的一系列动画图标;例如,microsoft word 指示正在保存文档
statusstrip 控件由 toolstripstatuslabel 对象组成,每个这样的对象都可以显示文本、图标或同时显示这二者。statusstrip 还可以包含 toolstripdropdownbutton、toolstripsplitbutton 和 toolstripprogressbar 控件。
默认 statusstrip 没有面板。若要向 statusstrip 中添加面板,请使用 system.windows.forms.toolstripitemcollection.addrange(system.windows.forms.toolstripitem[]) 方法。
于是在自己试一试,在网上看到的基本很明确的指出了,两者某些用法是相似的:
StatusBar控件:
(1) 建立新项目。放StatusBar控件到窗体。单击StatusBar控件属性Panels后按钮,打开StatusBarPanels集合编辑器(如下图),单击添加按钮,增加若2栏。其序号为0、1。

(2) 修改StatusBar控件属性ShowPanel=true。
(3) 放Timer组件到窗体,Name=Timer1,属性Interval=1000,Enabled=true。
(4) 为Timer1的Tick事件增加事件处理函数如下:
private void timer1_Tick(object sender, System.EventArgs e)
{
statusBar1.Panels[0].Text=DateTime.Now.ToString();
}
StatusStrip控件:
1.创建窗体并添加StatusStrip,此时StatusStrip控件默认属性name为statusStrip1;
2.在statusStrip1的Items属性中添加三个StatusLabel,默认名称为toolStripStatusLabel1,2,按1,2的顺序排列,并在相应的toolStripStatusLabel的text改需要显示的内容;
3.
public partial class Form1 : Form {
public Form1()
{
InitializeComponent();
}
private void timer1_Tick(object sender, EventArgs e)
{
//时间变动,使用这个语句,设置timer属性
this.toolStripStatusLabel3.Text = "系统当前时间:" + DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss");
}
private void Form1_Load(object sender, EventArgs e)
{
//如果时间不动,请使用下面的语句! 无需添加 timer控件!
//this.toolStripStatusLabel3.Text = "登陆系统的时间:" + DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss");
this.timer1.Interval = 1000;
this.timer1.Start();
}
以上两个运行的效果类似:

我只是个新人,跟是一个懒人,勿喷!
浙公网安备 33010602011771号