日期:2014-05-17  浏览次数:20819 次

c#如何让正在执行的操作跟踪显示出来
我用c#开发的Windows窗体程序
主要功能是通过一个按钮button单击对选文件夹进行遍历,即把其下包括子文件夹的文件名遍历出来,并将所在的路径赋值给了变量FilesPath
而我想要的效果是当点击button按钮时,把程序当前正在遍历的文件名逐条显示出来,我用的这条语句 实现
showStr += "正在执行" + FilesPath + "操作.\n";
this.lblProgress.Text = showStr;
System.Threading.Thread.Sleep(1000);//暂停1秒 

存在的问题就是,当点击button按钮时,标签lblProgress没有逐条的把遍历的文件名显示出来,而是直到button按钮语句命令执行完后,标签lblProgress把所有遍历到的文件名一次性的显示出来了,我应该还要加什么语句呢,或者我的那showStr代码段应该放在哪个位置呢?希高人指点指点


------解决方案--------------------
showStr += "正在执行" + FilesPath + "操作.\n"; 
this.lblProgress.Text = showStr; 
Application.DoEvents();
//or this.lblProgress.Update();

------解决方案--------------------
这个操作很快的,几乎是一下就完成了,要那么长时间干嘛啊。
呵呵,但这样似乎挺有意思的哈。
试试楼上的看可行不。