简单winform进度条使用示例
1.说明
下面介绍一个简单的winform进度条使用示例,设置简单,操作简便,容易理解,还讲解进度显示与文字不同步问题,还有文字随进度刷新的问题。
2.操作
方法放入任务数,模拟文件保存过程,每个文件保存用时1秒,文字和进度条展示动态刷新
1)添加控件
创建一个主窗体,添加进度条ProgressBar控件,按钮Button控件和TextBox控件
2)进度方法
编写一个进度条随进度计数动态展示的方法,如下:
void SaveProgress(int num)
{
txtbPrint.Text += "共" + num + "条数据\r\n";
Application.DoEvents();
System.Threading.Thread.Sleep(1000);
pgbSaveProgress.Value = 0;
pgbSaveProgress.Minimum = 0;
pgbSaveProgress.Maximum = num;
for (int i = 1; i <= num; i++)
{
pgbSaveProgress.Value = i;
System.Threading.Thread.Sleep(1000);
txtbPrint.Text += "共" + num + "条数据:已转存" + i + "条数据\r\n";
Application.DoEvents();
if (i == num)
{
txtbPrint.Text += "已成功转存" + num + "条数据\r\n\r\n";
}
else
{
System.Threading.Thread.Sleep(1000);
}
}
//进度展示初始化
pgbSaveProgress.Value = 0;
}
注意:
1.如果显示与文字不同步,原因在于文字更新与进度条展示的速度不同,加入一定休眠时间即可System.Threading.Thread.Sleep(毫秒);
2.文字随进度刷新,需要在每次文字更新和进度赋值后运行命令Application.DoEvents()即可实现动态刷新;
3.ProgressBar使用只需最大Maximum最小值Minimum赋值,动态Value赋值展示的值即可;
3)其他设置
点击按钮运行进度条方法,方法内传入任务数量
private void btnStartSave_Click(object sender, EventArgs e)
{
SaveProgress(5);
}
效果如下:
以上为个人整理总结的知识,如有遗漏或错误欢迎留言指出、点评,如要引用,请写引用说明,谢谢。