C# 从不激发后台工作程序RunWorkerCompleted
使用以下代码,我的后台工作人员C# 从不激发后台工作程序RunWorkerCompleted,c#,winforms,backgroundworker,C#,Winforms,Backgroundworker,使用以下代码,我的后台工作人员RunWorkerCompleted从未被调用,我也不知道为什么 void startWaitScan() { backgroundWorker1.RunWorkerAsync(); } void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e) { // do something here } void backgroundWorker1_RunWorkerCompleted(
RunWorkerCompleted
从未被调用,我也不知道为什么
void startWaitScan()
{
backgroundWorker1.RunWorkerAsync();
}
void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
{
// do something here
}
void backgroundWorker1_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
{
Console.WriteLine("BackgroundWorker1_RunWorkerCompleted");
if (!stopAsync)
{
backgroundWorker1.RunWorkerAsync();
}
}
我的目标是让后台工作程序持续运行,我在.NET中运行了这个程序,但是当我现在用C#重写代码时,我遇到了这个问题。所有事件都正确连接了吗
backgroundWorker1.DoWork += new DoWorkEventHandler(backgroundWorker1_DoWork);
backgroundWorker1.RunWorkerCompleted += new RunWorkerCompletedEventHandler(
backgroundWorker1_RunWorkerCompleted);
您是否已正确连接所有事件
backgroundWorker1.DoWork += new DoWorkEventHandler(backgroundWorker1_DoWork);
backgroundWorker1.RunWorkerCompleted += new RunWorkerCompletedEventHandler(
backgroundWorker1_RunWorkerCompleted);
什么样的应用程序?这只适用于WinForms或WPF.C#Windows窗体应用程序。您在这里做什么?你确定它不会无限循环吗?在DoWork内设置断点并检查它是否确实存在。您的
BackgroundWorker
是如何声明的?您是否重新设置处理程序以完成此操作?backgroundWorker1.RunWorkerCompleted+=新的RunWorkerCompletedEventHandler(backgroundWorker1\U RunWorkerCompleted);什么样的应用程序?这只适用于WinForms或WPF.C#Windows窗体应用程序。您在这里做什么?你确定它不会无限循环吗?在DoWork内设置断点并检查它是否确实存在。您的BackgroundWorker
是如何声明的?您是否重新设置处理程序以完成此操作?backgroundWorker1.RunWorkerCompleted+=新的RunWorkerCompletedEventHandler(backgroundWorker1\U RunWorkerCompleted);您可以在构造函数中执行此操作。通常它是由表单设计人员在InitializeComponent()方法中完成的谢谢,我知道这很愚蠢,非常感谢它所提供的帮助,如果允许的话,我会在5分钟内选择正确的答案。再次感谢这两行代码相当于java小程序的动作监听器和执行器?在本例中,动作监听器是backgroundWorker1\u DoWork和backgroundWorker1\u RunWorkerCompleted。Java执行器比构造函数中的执行器更多。通常它是由表单设计人员在InitializeComponent()方法中完成的谢谢,我知道这很愚蠢,非常感谢它所提供的帮助,如果允许的话,我会在5分钟内选择正确的答案。再次感谢这两行代码相当于java小程序的动作监听器和执行器?在本例中,动作监听器是backgroundWorker1\u DoWork和backgroundWorker1\u RunWorkerCompleted。Java执行器比