Winforms 的Label控件Text没有刷新

sdfhsr4agsfg 2017-07-20 05:29:51
我在做一个下载器,用的是多线程,大概20个左右
大致代码:
var total = response.ContentLength;
var curr = 0.0;
int n = 0;
while ((n = stream.Read(buff, 0, buff.Length)) > 0)
{
filestream.Write(buff, 0, n);
curr += n;
Label.Text = string.Format("{0:N2}%", curr / total * 100);
ProgressBar.Value = (int)(curr / total * 10000);
}

ProgressBar这个控件最大值是10000

有时候(很少)会出现一种情况,ProgressBar一直在动,但是Label控件的文字却一直不变。
...全文
281 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Haou2020 2017-07-21
  • 打赏
  • 举报
回复

this.Invoke((EventHandler)(delegate
{
    ……  
}));
sdfhsr4agsfg 2017-07-20
  • 打赏
  • 举报
回复
引用 1 楼 StratosBlue 的回复:
看这样子是没有没有检查跨线程?说好的不推荐修改CheckForIllegalCrossThreadCalls,要使用Invoke呢。
我试试
Anonymous477 2017-07-20
  • 打赏
  • 举报
回复
看这样子是没有没有检查跨线程?说好的不推荐修改CheckForIllegalCrossThreadCalls,要使用Invoke呢。

110,538

社区成员

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

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

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