大家在安装程序或者下载一个文件时,会出现一个信息画面,能够让用户知道安装或者下载的进度,这样的信息画面就是通过进度条来显示的,当程序运行的时间较长时,也可以加入进度条,通过图形化界面来提供某些程序操作的进度。

进度条控件:

进度条常见的属性和方法:

Miimum:默认值为0,设置progressbar进度条控件的最大值

Maximum:默认值为100,设置progressbar进度条控件的最小值

Value:默认值为0,设置progressbar进度条控件的实际进度值

Step:默认值为0,设置progressbar进度条控件每次递增的步长值

Style:默认值为block,显示progressbar进度条的样式

Increment():指定progressbar进度条前移的位置

PerformStep():以Step属性值来显示进度条的刻度

在Style里面有以下三种可供选择,它们分别是:

Block:以数值刻度来表示

Continuous:只会显示进度,并不显示刻度

Margree:以跑马灯方式来显示,无法使用量化进度




progress bar 设置 progressbar显示数值_进度条


使用编辑项:

StatusStrip控件本身并没有面板的功能,想要在面板上显示一些信息,必须加入面板,而toolStripStatusLabel对象提供了面板功能,再根据应用程序的需要来显示文字或者图标信息。

通过StatusStrip提供的"编辑项",可以将对象进行重新排列,"编辑项"的用法如下。

step1启动编辑项:打开工具箱,双击StatusStrip控件加入到窗体上,并在窗体下面的格子里面也出现了StatusStrip控件的标识


progress bar 设置 progressbar显示数值_控件_02


Step2点击编辑项:鼠标右键单击StatusStrip控件,选择Edit Items编辑项指令


progress bar 设置 progressbar显示数值_progress bar 设置_03


Step3设置项集合编辑器:展开编辑器后,选择statuslabel项→单击add添加按钮,则会加入toolStripStatusLabel1对象,并在成员中列出,也可以通过删除标识进行删除成员→设置成员的属性值


progress bar 设置 progressbar显示数值_progress bar 设置_04


计时的timer控件:

timer控件是一个非常特殊的控件,它是windows窗体专有的,可以用来处理计时操作,在一定的时间间隔内可以改变画面上图片的位置,让它具有动画效果。

看看timer有哪些成员:

Enabled:默认值false,是否启动定时器,false为不启动,ture为启动

Interval:默认值0,设置定时器的间隔时间,1000表示1秒

Tick()事件:间隔时间内所触发的事件

程序在运行时,Timer控件是不显示的,因此,在程序窗体界面设计时,并不考虑Timer控件的参与。Tick()事件会根据Interval的时间周期值来不断的更新画面。

实例学习

step1:在窗体上加入2个button控件和1个program控件,并进行相应的属性设置

step2:加入StatusStrip控件后,右键单击进入编辑项后,选择statuslabel进行添加后,将toolStripStatusLabel1的autosize设置为false,将text属性值设置为"显示时间",然后再加入一个toolStripStatusLabel2,也将其autosize设置为false将text属性值设置为"显示进度"


progress bar 设置 progressbar显示数值_progress bar 设置_05


Step3:添加timer控件,并设置其属性,加入的timer控件不会显示在窗体上,它在窗体下方,是一个后台运行的组件


progress bar 设置 progressbar显示数值_progress bar 设置_06


双击开始计时按钮进入代码编辑区,后编写下列代码:

timer1.Start();//启动计时器

button1.Enabled = false;//使按钮暂时不起作用

button2.Enabled = false;

完整的程序代码如下:


progress bar 设置 progressbar显示数值_进度条_07


进入窗体界面,双击timer控件,进入代码编辑区,编写下列代码:

progressBar1.Increment(20);//显示进度条位置
//在状态栏显示文字信息
toolStripStatusLabel2.Text = string.Concat(progressBar1.Value, "% 运行完成");
//显示日期
toolStripStatusLabel1.Text = DateTime.Now.ToShortDateString();
//判断是否完成
if(progressBar1.Value == progressBar1.Maximum )
{
//恢复按钮作用
button1.Enabled = true;
button2.Enabled = true;
timer1.Stop();
}

完整的程序代码如下:


progress bar 设置 progressbar显示数值_控件_08


结束按钮加入下列代码:


progress bar 设置 progressbar显示数值_progress bar 设置_09


运行程序后的界面:


progress bar 设置 progressbar显示数值_控件_10


点击开始计时后,可以看到程序完成的进度啦:


progress bar 设置 progressbar显示数值_控件_11


当全部完成后,按钮都恢复了可用状态:


progress bar 设置 progressbar显示数值_控件_12


只要你具备了精神气质的美,只要你有这样的自信,你就会拥有风度的自然之美。——金马