vb.net主线程使用BackgroundWorker进行后台长时间的检索操作的同时怎么做到前台画面的其他操作能够响应?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vb.net主线程使用BackgroundWorker进行后台长时间的检索操作的同时怎么做到前台画面的其他操作能够响应?相关的知识,希望对你有一定的参考价值。

比如画面中的光标设置成沙漏状(后台检索可能要30秒,想要做到在这30秒钟,鼠标是沙漏状)

参考技术A 在你的代码最前面前面加上 Cursor = Cursors.WaitCursor , 然后在你代码的最后面加上Cursor = Cursors.Default ,这样在你还没运行完代码之前你的鼠标一直都是沙漏状啦追问

现在的情况是这样的,在使用BackgroundWorker之前有设置鼠标的代码,但是在操作过程中,发现是在BackgroundWorker处理之后,鼠标才变成沙漏状,不理解这东西的执行顺序,求解

追答

在你 BackgroundWorker1.RunWorkerAsync() 的前一句加上 Cursor = Cursors.WaitCursor
例子: If BackgroundWorker1.IsBusy True Then
Cursor = Cursors.WaitCursor
BackgroundWorker1.RunWorkerAsync()
End If

本回答被提问者和网友采纳
参考技术B 使用BackgroundWorker做后台处理,就不影响前台操作啦,何必还要沙漏鼠标阻止操作?

以上是关于vb.net主线程使用BackgroundWorker进行后台长时间的检索操作的同时怎么做到前台画面的其他操作能够响应?的主要内容,如果未能解决你的问题,请参考以下文章

如何停止backgroundwork

求大神指导VB.net 线程 ThreadState 的使用方法 怎么获取线程状态,是不是被挂起堵塞停止等等

使用带有设计器对象的线程 vb.net

BackgroundWorker控件使用

VB.NET 中带有后台工作者的字幕进度条

vb.net 多线程 访问界面控件