BackgroundWorker代码如何执行?

PrivateSubBackgroundWorker1_DoWork(ByValsenderAsSystem.Object,ByValeAsSystem.Componen... Private Sub BackgroundWorker1_DoWork(ByVal sender As System.Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles BackgroundWorker1.DoWork
Console.WriteLine(Now & " 执行后台程序")
End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
BackgroundWorker1.RunWorkerAsync()
While BackgroundWorker1.IsBusy
Threading.Thread.Sleep(1)
End While
Stop'如何修改代码能执行到stop
End Sub

现在这个程序是无法停止的死循环BackgroundWorker1.IsBusy永远为True 我现在想运行到stop 如何做??
展开
 我来答
破灭幻觉
推荐于2016-03-21 · TA获得超过2691个赞
知道小有建树答主
回答量:823
采纳率:0%
帮助的人:353万
展开全部
楼主你的代码不是c#的,是不是vb的?你发错了分类。
而且这应该你是程序逻辑的问题。按照你代码的逻辑,只要那个BackgroundWorker1
是正常运行的你的代码就是个死循环。只有运行出了问题才不会继续执行下去。你要明确一点就是你想要做什么,不要拿来别人的代码就生硬的搬上去。
如果想得到stop哪一步,可以加一个变量,比如int类型的i,初始值设0,while循环每执行一次就让i加1,当i等于100就跳出循环,可能是用break关键字,vb我不太熟悉你自己查一下。
更多追问追答
追问
代码是我自己写的,不是复制粘贴的结果,你不管vb还是C#只是语法不同,你可以用C#写一个试试,只要启动BackgroundWorker 和等待BackgroundWorker结束在一个过程里你就等不到结束的时候,永远是busy。但是dowork过程确实已经做完了那为什么还是busy呢??如何解释??
追答
我没使用过BackgroundWorker,但是刚才查了一下网上的例子,貌似都只是在开始的时候做一个判断,没有用这个属性来判断进程是否在执行的。如果BackgroundWorker有相应的结束事件建议使用他自己的事件。
http://msdn.microsoft.com/zh-cn/library/System.ComponentModel.BackgroundWorker(v=vs.80).aspx
这个是我网上找的。你看下。应该有用。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2014-05-20
展开全部
[c-sharp] view plaincopy
int sum=0;
private void Form1_Load(object sender, EventArgs e)
{
BackgroundWorker backWork = new BackgroundWorker();
backWork.DoWork += new DoWorkEventHandler(backWork_DoWork);
backWork.RunWorkerCompleted += new RunWorkerCompletedEventHandler(backWork_RunWorkerCompleted);
backWork.RunWorkerAsync();
}

void backWork_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
{
MessageBox.Show(sum.ToString());
}

void backWork_DoWork(object sender, DoWorkEventArgs e)
{
for (long i = 0; i < 1000000000; i++)
{
sum += i;
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式