循环语句中label更新问题

dzhl01 2009-03-24 10:56:04
我有个思路,在一个循环语句中,循环调用路径,对路径下文件进行加密处理,同时在label下显示正在调用的路径.
大致代码如下:
for(int i=0;i<path.length;i++)
{label.Text=path[i];
jiami(path[i];);
}
path为路径的一个集合,jiami(string path)为以一个路径为参数的加密函数,label为显示路径的标签.
运行该语句时,label.Text不会随i更新,只是到i为最后值即path.length-1时才更新,或者说所有加密处理完才显示,另外我还打算另一个label显示一个路径的加密%进度,也是不能显示,加密完才显示100%.请问,我该如何解决此问题?
...全文
148 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
dzhl01 2009-08-14
  • 打赏
  • 举报
回复
可惜多线程公用资源老师报错,实现不了
wanggangzero 2009-04-09
  • 打赏
  • 举报
回复
支持三楼的!
我亲自用过!
xiaolukatie 2009-03-25
  • 打赏
  • 举报
回复
用多线程就可以了……
做个线程,做个委托,获得相应的信息显示在label.text上,然后进度条也可以同样实现……
不想用线程的话用timer更容易……
mykelly6 2009-03-25
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 JCrazy 的回复:]
不是不更新 是循环的速度太快 你根本看不出来
你调试的时候就知道其实label.Text这个字是在变化的
[/Quote]
感觉是这样的
fiveandfive 2009-03-25
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 justindreams 的回复:]
标准答案:多线程+委托
[/Quote]+
justindreams 2009-03-25
  • 打赏
  • 举报
回复
标准答案:多线程+委托
liusichen_0 2009-03-25
  • 打赏
  • 举报
回复
同意五楼的,我以前也遇到过,后来放弃了
JCrazy 2009-03-25
  • 打赏
  • 举报
回复
不是不更新 是循环的速度太快 你根本看不出来
你调试的时候就知道其实label.Text这个字是在变化的
wuyi8808 2009-03-25
  • 打赏
  • 举报
回复
for (int i = 0;i < path.length; i++) 
{
label.Text = path[i];
label.Refresh();
jiami(path[i];);
}
CsToD 2009-03-25
  • 打赏
  • 举报
回复
for(int i=0;i <path.length;i++)
{label.Text=path[i];
jiami(path[i];);
Application.DoEvents();
}


结帖率:0.00%
做人要厚到!
gogogo 2009-03-25
  • 打赏
  • 举报
回复
没时间帮你找了,循环中要用类似delphi的appliction.processmessage或者vb的doevents类似的语句,
stevenlimin 2009-03-24
  • 打赏
  • 举报
回复
请使用多线程

111,126

社区成员

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

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

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