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

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

直接扔代码咯,接好:

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

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

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

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

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

附上个效果图吧:

BackgroundWorker 后台进程控制窗体label、richtextbook内容刷新,布布扣,bubuko.com

时间: 2024-11-08 22:04:45

BackgroundWorker 后台进程控制窗体label、richtextbook内容刷新的相关文章

控制窗体的小程序

控制窗体的位置和大小 1 import win32con 2 import win32gui 3 import time 4 import random 5 6 QQWin = win32gui.FindWindow("TXGuiFoundation", "QQ") 7 8 # 参数1:控制的窗体 9 # 参数2:大致方位,HWND_NOTOPMOST上方 10 # 参数3:位置x 11 # 参数4:位置y 12 # 参数5:长度 13 # 参数6:宽度 14 #

c# label的内容显示不全

c# label的内容显示不全,需要设置如下属性即可: 1.将Lable的font属性的字体改成宋体: 2.将AutoSize属性改成true: 然后内容就可以显示全部了.

DotNetBar如何控制窗体样式

DotNetBar如何控制窗体样式 老帅  在C#中使用控件DevComponents.DotNetBar时,如何创建一个漂亮的窗口,并控制窗体样式呢? 1.新建一个DotNetBar窗体 2.使OFFICE窗口风格生效   如果运行时还是默认窗体风格,而不是offfice风格,可禁用系统的Glass主题即可.如下代码: this.EnableGlass = false; 3.禁止关闭窗体    private void FormTest_FormClosing(object sender, F

js如何控制css伪元素内容(before,after)

原文:js如何控制css伪元素内容(before,after) js如何控制css伪元素(before,after) @(CSS 笔记)[伪元素|css3]曾经遇到的问题,在对抗UC浏览器屏蔽需要把内容输出到css 伪元素中输出.有个疑问如何用js控制它.于是在segmentfault提问,如下是对问题的整理: 如何用js控制css伪类after 简单粗暴的方式: 简单粗暴的方式,直接在html中添加样式覆盖掉之前样式规则 <style> p:after{content:'我是后缀'} <

面试题:两个UILabel横向排列,要求压缩其中一个Label,另外一个Label的内容保持完整

一.题目 AutoLayout中,布局两个UILabel,竖直方向处于统一水平线上:水平方向,二者间隔一定距离,左边的label距离父容器一定间距,右边的label距离容器右侧一定间隔 要求,两个label填充内容的时候,压缩其中一个,另外一个不变 二.解答 在Autolayout中,类似UIScrollView,只要设定容器的子view,宽度以及与容器的间隔,那么容器在宽度上能够自动wrap content,同理在数值方向上也是这样. 如下的约束: 左边的label距离父容器左边距为大于等于0

WPF自定义控件与样式(13)-自定义窗体Window &amp; 自适应内容大小消息框MessageBox

一.前言 申明:WPF自定义控件与样式是一个系列文章,前后是有些关联的,但大多是按照由简到繁的顺序逐步发布的等,若有不明白的地方可以参考本系列前面的文章,文末附有部分文章链接. 本文主要内容: 自定义Window窗体样式: 基于自定义窗体实现自定义MessageBox消息提示框: 二.自定义Window窗体样式 自定义的Window窗体效果:   因为WPF默认的窗体比较简陋,大都需要自己实现Window窗体样式效果,基本思路很简单: 第一步:干掉默认样式:WindowStyle = Windo

WP装逼研究:如何获得更多的应用评价和解读内容刷新

Windows Phone的市场评论功能研究的时间比较长,只是这一功能,估计就能写一篇论文,我曾搞过多款评论数超高的游戏,其中<少林塔防>是重量级的作品,至今稳坐最高评分第一把交椅,如果不了解Windows Phone市场的评论系统,最好别想在Windows Phone圈装逼,差别在于对Windows Phone市场各个环节研究的多深,如果这篇研究你看有点收获,记得一定给个好评个亲.        如何让应用或游戏增加更多的评价 第一种方法是有奖励性质的任务,具体方式就是在评论里来个五星加自己

Android中设置ListView内容刷新问题

最近在学习Android的listView控件时遇到了一个问题,如何添加一个Item到ListView中并及时的刷新出来.在网上查了很多帖子,很多人在问,也很多人在解答,但是总的来说都没找到详细的解决方案.对于ListView与数据库的同步,高手们建议使用ContentProvider对象.但是如果我不使用数据库呢?也有人回答用notifyDataSetChanged()方法.这倒是一个正确的解决方案,但是对于新手来说,还是比较困惑怎么去用,这里我贴一下我的用法: 代码 OnClickListe

Label根据内容来显示单行还是多行

我所遇到的情况是,产品让显示一个Message,最多两行显示,多余的用...代替,但是这个Message有可能是一行显示也有可能是两行显示,如果直接按照label两行填写,如果内容是一行的时候label就会居中显示,这是一个蛋疼的问题.怎么来解决呢? 话不多说,上代码: NSString *messageString = _detailModel.message; CGSize maximumLabelSizeOne = CGSizeMake(200,115/2-20);//200为我需要的UI