winform中进度条使用

zhoudi007 2016-03-20 10:18:40
当我们在打开一个界面的时候,有时候可能加载的数据量相对比较庞大,这时候想要在界面数据未加载未完成时给客户显示一个进度条,请问该怎么处理,给点思路或者实例都行,谢谢!
...全文
135 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
拜一刀 2016-03-21
  • 打赏
  • 举报
回复
数据量大用分页啊,有时候查询不是问题,问题是显示这么多数据
Justin-Liu 2016-03-21
  • 打赏
  • 举报
回复
当前量/总量就是进度
qbilbo 2016-03-20
  • 打赏
  • 举报
回复
一,你知道加载有多少个步骤,能够控制进度,那你可以这样写:
private async void Form_Load(object sender, EventArgs e)
{
            await Task.Run(() => Loadding());
            progressBar1.Visible = false;
}
private void Loadding()
{
            for (int i = 0; i < 10; i++)
            {
                Invoke(new MethodInvoker(() => label1.Text = string.Format("当前正在进行第{0}步,共10步。", i + 1)));
                Thread.Sleep(1000);  //模拟加载
                Invoke(new MethodInvoker(() => progressBar1.Value = (i + 1) * 10));
            }
}
二,你不知道加载的具体细节,那就只能显示一个不断循环的进度条。
private async void Form_Load(object sender, EventArgs e)
{
            progressBar1.Style = ProgressBarStyle.Marquee;  //不断循环的进度条
            await Task.Run(() => Loadding());
            progressBar1.Visible = false;
}
private void Loadding()
{
            Thread.Sleep(10000);  //模拟加载
}
冷尘 2016-03-20
  • 打赏
  • 举报
回复
使用多线程,将进度条放在线程中

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧