现在的位置: 首页 > 综合 > 正文

C#中 使用 Backgroundworker控制UI线程 防止界面假死情况

2018年01月31日 ⁄ 综合 ⁄ 共 2529字 ⁄ 字号 评论关闭

在C#.net窗体编程中,非主线程调用该UI界面的时候往往会出现一些界面无响应或者假死的情况,我们可以用Backgroundworker很好的解决这一个问题。

第一步,我们先建立一个Windows应用程序,取名XXX

第二步,我们在左侧工具箱中找到组件下面的BackgroundWorker组件,拖至Form中,为了让大家很好的体验到Background的作用,我们拖放两个Backgroundworker组件到Form中,分别为backgroudworker1和backgroundworker2

第三步,分别选择这两个组件的属性WorkReportsProgress和WorkerSupportsCancellation属性设置为true,先做个小小的解释,WorkReportsProgress:backgroundworker组件的DoWork事件触发的时候,会想backgroundworker组件报告DoWork事件中的执行情况,这样,我们就可以对UI进行相应的抄作,如果暂时看不懂,没关系,可能是我解释得太差了,看了下面的代码大家一定会明白...

第四步,确认第三不工作已经完成的情况下,我们在界面上拖放两个Button,分别为btn1,btn2,以及两个processbar,分别为processbar1,processbar2

第四步,backgroundworker1 组件有三个事件,分别为

 

 

现在我们来让这两个进度条走起来

 

抱歉!评论已关闭.