1.3 状态栏设计
状态栏是用来显示当前程序状态的。状态栏可以分为多个面板,用来显示不同状态下的内容,本节主要介绍了状态栏的用法以及如何在状态栏中添加控件。
实例011 在状态栏中显示检查框
实例说明
在设计程序界面时,为了规范界面,可以将一些控件放置在状态栏中,这样既能起到控制程序的作用,又能使界面和谐、美观。运行程序,在窗体的状态栏中加入了显示时间检查框。效果如图1.11所示。
技术要点
在状态栏中添加检查框比较容易,只需先将状态栏加入窗体,然后将检查框从工具箱中拖入状态拦即可。
实现过程
(1)创建一个项目,将其命名为Ex01_11,默认窗体为Form1。
(2)从工具箱中为Form1窗体添加StatusStrip控件,并从工具箱中为状态栏添加CheckBox控件。
(3)主要程序代码。
private void checkBox2_CheckedChanged(object sender, EventArgs e)
{
if (this.checkBox2.Checked)
{
statusStrip1.Items[1].Text = "日期:" + DateTime.Now.ToString();
}
else
{
statusStrip1.Items[1].Text = "";
}
}
举一反三
根据本实例,读者可以开发以下功能。
运行时设置控件的位置。
动态控制控件的显示。
实例012 带进度条的状态栏
实例说明
上网浏览网页的读者都用过IE浏览器,读者是否注意到该浏览器的状态栏,在打开网页的过程中,浏览器下边的状态栏中有一个进度条显示当前网页的载入进度,这样的状态栏使界面显得更加丰富多彩,并且非常实用。本例将设计一个带进度条的状态栏,并且在程序运行当中进度条可以显示其进度,该实例运行结果如图1.12所示。
技术要点
带进度条的状态栏在别的开发环境下实现相对比较复杂,但在.NET 2.0中已经提供了这个功能,只需将状态栏的按钮类型设置为ProgressBar即可。通过设置ProgressBar的Step 属性指定一个特定值用以逐次递增Value属性的值,然后调用PerformStep方法来使该值递增,就可以实现带进度条的状态栏。
实现过程
(1)创建一个项目,将其命名为Ex01_12,默认窗体为Form1。
(2)从工具箱中为Form1窗体添加StatusStrip控件,并为状态栏添加相应的按钮,在按钮的下拉选项中选择ProgressBar类型。
(3)设置ToolStripProgressBar1的Value属性、Maximum属性和Step属性。
(4)主要程序代码。
private void Form1_Load(object sender, EventArgs e)
{
while (toolStripProgressBar1.Value < toolStripProgressBar1.Maximum)
{
this.toolStripProgressBar1.PerformStep();
}
}
举一反三
根据本实例,读者可以开发以下功能。
在状态栏中显示时间。
改变进度条的颜色。
实例013 状态栏中加入图标
实例说明
状态栏已经成为主界面必不可少的部分,状态栏一般用于显示程序状态、当前日期等,在状态栏中添加一张图片会使程序的主界面更有特色。运行本例,效果如图1.13所示。
技术要点
状态栏中加入图标在.NET 2.0中实现非常容易,只要将对应状态栏面板的Image属性设置为要显示的图片即可。
实现过程
(1)创建一个项目,将其命名为Ex01_13,默认窗体为Form1。
(2)从工具箱中为Form1窗体添加StatusStrip控件,并为状态栏添加相应的按钮,设置添加的按钮的Image属性为要显示的图片。
举一反三
根据本实例,读者可以实现以下功能。
将其他控件放置在状态栏中,如进度条。
将其他控件放置在状态栏中,如复选框。





