BackgroundWorker后台进程控制窗体label、richtextbook内容刷新

王朝学院·作者佚名  2016-08-27
窄屏简体版  字體: 小  |  中  |  大  |  超大  

昨天写了一个从文章中提取关键词的程序,写完处理的逻辑后又花了好几个小时在用户友好性上。加了几个PRogressBar,有显示总进度的、有显示分布进度的。。因为程序要跑好几个小时才能执行好,只加个总进度的话感觉不太明显。一个label,显示当先操作的具体内容,还有个richtextbox显示出所有操作哦。。

直接扔代码咯,接好:

1this.Invoke(newMethodInvoker(delegate() { label1.Text ="正在处理..."; label1.Refresh(); }));

把它放在backgroundWorker1_DoWork()就能实现后台进程管理label内容。

在对richtextbox操作是,我起初使用的也是这个代码,但运行时才发现,richtextbox的光标不会自动下移。所以还要加点代码:

1this.Invoke(newMethodInvoker(delegate() {2richTextBox1.AppendText(text);3richTextBox1.SelectionStart =richTextBox1.Text.Length;4richTextBox1.ScrollToCaret();}));

那个.Refresh()被我省略掉了,但运行效果没有变化耶~~

附上个效果图吧:

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航